2011-09-21 81 views
2

我在XCode 4中构建了ipad应用程序。为此,我在我的项目中添加了一些外部框架。代码在模拟器中正常工作,但显示24个Mach-O Linker错误。 我搜索了这个主题,并得到这个错误的各种不同的原因,但没有得到正确的。 任何建议都会有很大的帮助。Mach-O链接器错误

回答

2

最有可能您正在使用的库尚未为arm设计。对于在模拟器中工作的库,它必须编译为i386体系结构。要在设备上工作,必须编译为armv体系结构。

为了同时工作,您需要所谓的“胖”二进制文件,其中包含为上述每个编译的版本。如果你没有,你会收到链接错误。

要找出架构库的编译,请使用以下命令:

lipo -info mylibrary 
+0

ya..you是对的我的库编译为i386架构。我怎样才能让我的图书馆变成“胖”的二进制文件? – LebRon

+0

最好的选择是阅读Apple文档http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Frameworks.html#//apple_ref/doc/uid/10000183-SW1 –

+0

在Google上搜索也是如此。刚刚发现这个看起来很有用的一个http://blog.costan.us/2009/12/fat-iphone-static-libraries-device-and.html –