现在,当我尝试在iOS上使用libsndfile时,遇到了一个奇怪的链接问题
我已经在MACOSX 10.6.8上编译了libsndfile,它通过了所有的检查。但是当我将它添加到Xcode中并尝试在iOS上编译它时,我得到了以下链接警告和错误:
ld: warning: in /Users/chencyz/Desktop/Development/SDK/libsndfile/lib/libsndfile.a, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols:
"_sf_close", referenced from:
SndfileHandle::SNDFILE_ref::~SNDFILE_ref()in AudioReader.o
"_sf_error", referenced from:
SndfileHandle::error() const in AudioReader.o
"_sf_open", referenced from:
SndfileHandle::SndfileHandle(char const*, int, int, int, int)in AudioReader.o
"_sf_read_float", referenced from:
SndfileHandle::read(float*, long long)in AudioReader.o
ld: symbol(s) not foundAudioReader只是一个使用libsndfile编程接口的简单类。
有人知道这件事吗?
发布于 2011-10-20 15:04:52
您似乎没有为iOS重新编译库,您似乎试图链接到该库的i386版本。您粘贴的错误消息中的第一行非常清楚。
iOS在ARM处理器上运行,因此您需要为ARM构建库。
https://stackoverflow.com/questions/7832128
复制相似问题