2015-07-20 39 views
1

我的開發環境: 在Windows 7(x64)上運行的Delphi XE8 Update 1。 在Mac Yosemite 10.10.4上運行的XCode 6.4。 iOS SDK被添加到XE8中,並且適用於32位/ 64位目標。XE8.1:文件是爲存檔構建的,而不是被鏈接的體系結構(arm64)

當德爾福使用來自http://delphi.radsoft.com.au/2013/11/checking-for-an-internet-connection-on-mobile-devices-with-delphi-xe5獲得libReachability.a的64位版本的64位的iOS目標構建iOS應用程序,我獲得以下編譯時錯誤:

[DCC Error] E2597 NYI lto::isObjectFile
NYI lto::archName
ld: file was built for archive which is not the architecture being linked (arm64): libReachability.a for architecture arm64

此錯誤不如果拿出目標是iOS 32位或iOS模擬器。在mac上,用於64位iOS目標的libReachability.a文件中的「lipo -info」顯示:「fat文件中的體系結構:libReachability.a是:armv7 arm64」。它看起來對我很好...

64位libReachability.a文件已被複制到Program Files \ Embarcadero \ Studio \ 16.0 \ lib \ iosDevice64 \ debug目錄。另一個團隊成員可以使用它,但它們在XE8上沒有更新1.對於如何解決此錯誤有任何想法?

+0

我會說,檢查沒有32位版本的libReachability文件在項目目錄中。清理該項目,然後重新編譯。 – ThisGuy

+0

就是這樣!我有一個32位的文件存放在我的項目目錄中(在proj目錄中同時存在.32和.64文件,並在複製到lib \ iOSDevicex目錄之前將其重命名爲.a)。請添加您的評論作爲答案,以便我可以「將其」作爲答案。 Thx – jaadooviewer

+0

很高興我們能夠如此迅速地解決這個問題 – ThisGuy

回答

2

檢查是否從您的項目目錄中刪除了所有32位版本的libReachability。

相關問題