我下载了一个音频编解码器的C库,我将其编译并添加到我的项目中。
现在,每次我尝试使用它时,它会给我一个未定义的架构armv7符号:当我尝试调用库中的一个方法时出错。
这可能是什么问题?我是否需要编译特定于armv7的库?
答案 0 :(得分:2)
您似乎已经设置了您的XCode项目,以便为armv7
和armv7s
架构进行编译(请注意最后的 s )。但是,C库的项目仅针对armv7
编译。
要修复,要么更改库项目以便为两个体系结构进行编译,要么将应用程序项目更改为仅编译为armv7
。
我会选择第二个选项,因为目前不需要armv7s
支持,而且很少有设备可以使用它。
<强>更新强>
如果您也为模拟器收到相同的消息,那么您的库项目也不会为'i386'编译(仅限模拟器需要)。它表示您的C库项目根本没有设置用于编译多个体系结构。所以第二个选项(而不是使用模拟器)是最简单的方法。