我需要构建libsndfile以便在Iphone / Ipad上的音频引擎中使用它。我已经构建它没有错误,但对于i386架构,所以我在构建项目时遇到了一些错误:
Undefined symbols for architecture i386:
"_FLAC__StreamDecoderErrorStatusString", referenced from:
_sf_flac_error_callback in libsndfile.a(flac.o)
"_FLAC__StreamEncoderInitStatusString", referenced from:
_flac_write_header in libsndfile.a(flac.o)
"_FLAC__metadata_object_delete", referenced from:
_flac_close in libsndfile.a(flac.o)
"_FLAC__metadata_object_new", referenced from:
_flac_write_header in libsndfile.a(flac.o)
"_FLAC__metadata_object_vorbiscomment_append_comment", referenced from:
_flac_write_header in libsndfile.a(flac.o)
如何为arm架构构建它?
我找到了this subject Erik de Castro Lopo所说的那样:
./configure --prefix=$HOME/Arm --build=i386-linux --host=arm-unknown-linux-gnueabi
但是当我建立时我已经拥有了这个:
undefined symbols for architecture x86_64:
"_AudioQueueAddPropertyListener", referenced from:
_main in sndfile-play.o
"_AudioQueueAllocateBuffer", referenced from:
_main in sndfile-play.o
"_AudioQueueDispose", referenced from:
_main in sndfile-play.o
"_AudioQueueEnqueueBuffer", referenced from:
_main in sndfile-play.o
_macosx_audio_out_callback in sndfile-play.o
"_AudioQueueFreeBuffer", referenced from:
_main in sndfile-play.o
我该怎么办?谢谢!
答案 0 :(得分:0)
您看到的第一个错误块(i386 / FLAC)似乎是因为配置过程检测到FLAC头文件,但找不到FLAC库。
第二个错误块,您说是来自交叉编译,其错误与x86_64有关。你真的安装了arm交叉编译器吗?
以下命令的输出是什么(在运行./configure之后在libsndfile源目录中运行):
$ grep _os config.log
$ grep _CC config.log