0

现在,当我尝试使用libsndfileon时遇到了一个奇怪的链接问题iOS

我已经编译libsndfileMACOSX 10.6.8通过了所有检查。但是当我将它添加到 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 found

AudioReader只是一个简单的类,它使用libsndfile.

有谁知道这件事?

4

1 回答 1

1

您似乎没有为 iOS 重新编译该库,您似乎正在尝试链接该库的 i386 版本。您粘贴的错误消息中的第一行非常清楚。

iOS 在 ARM 处理器上运行,因此您需要为 ARM 构建库。

于 2011-10-20T07:04:51.730 回答