2011-09-21 79 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 –