我需要构建 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
我该怎么办?谢谢!
最佳答案
您看到的第一 block 错误 (i386/FLAC) 似乎是因为配置过程检测到 FLAC 头文件,但找不到 FLAC 库。
第二 block 错误,你说的是交叉编译的,有x86_64相关的错误。你真的安装了 arm 交叉编译器吗?
以下命令的输出是什么(运行./configure后在libsndfile源目录下运行):
$ grep _os config.log
$ grep _CC config.log
关于linux - 为 ARM 架构构建 libsndfile 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13160668/