链接问题 - iPhone应用程序

时间:2010-07-29 00:04:52

标签: iphone objective-c linker

我在尝试链接iPhone应用程序以使用我正在使用的静态库时出现问题。

该应用程序适用于iPhone OS 3.0,但当我尝试升级到iOS4.0时,我遇到了一些问题。

我正在尝试使用的库是一个通用脂肪,其中包含arm和i386的版本。现在,当我尝试使用这个胖库时,我收到了“未找到符号”错误。它适用于设备(​​手臂),但在尝试编译模拟器(i386)时,我遇到了问题。

它给我的错误是:

"_OBJC_CLASS_$_ClassName", referenced from: file.o
Symbol(s) not found."

查看胖库(使用nm)我看到armv6和armv7下列出的符号为“S”,我想这就是它工作正常的原因!但是,我无法在i386下找到相同的内容,我也不知道为什么!

我确实看到一个符号“.objc_class_name_ClassName”被列为“A”类型,但是那里没有列出被认为缺失的符号。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

也许你需要构建一个针对iOS 4.0的lib版本

答案 1 :(得分:0)

许多库在转向iOS 4和SDK 3.2.3时被打破。如果您可以使用SDK 4构建库并将其重新打造成一个胖库,那么您可能会重新走上正轨。

确保将部署目标设置为3.x或您计划发送应用的任何内容。

答案 2 :(得分:0)