1

我下载了一个用于音频编解码器的 C 库,我对其进行编译并将其添加到我的项目中。

现在,每次我尝试使用它时,它都会给我一个 Undefined symbols for architecture armv7:当我尝试调用库的方法之一时出错。

可能是什么问题?我是否需要编译特定于 armv7 的库?

4

1 回答 1

2

您似乎已经设置了您的 XCode 项目,以便同时编译armv7armv7s架构(请注意最后的 s)。但是,C 库的项目仅针对armv7.

要解决此问题,请更改库项目以使其同时针对两种架构进行编译,或者将应用程序项目更改为仅针对armv7.

我会选择第二种选择,因为目前不需要armv7s支持,而且很少有设备可以使用它。

更新:

如果您在模拟器上也收到相同的消息,那么您的库项目也不会为“i386”编译(仅模拟器需要)。这表明您的 C 库项目根本没有设置为针对多个体系结构进行编译。所以第二个选项(而不是使用模拟器)是最简单的方法。

于 2012-10-02T10:32:00.483 回答