我的开发环境: 在 Windows 7 (x64) 上运行的 Delphi XE8 Update 1。 在 Mac Yosemite 10.10.4 上运行的 XCode 6.4。 iOS SDK 已添加到 XE8 中,并且适用于 32 位/64 位目标。
使用 64 位版本的 libReachability.a 在 Delphi 中使用 64 位 iOS 目标构建 iOS 应用程序时,从 http://delphi.radsoft.com.au/2013/11/checking-for-an-internet-connection-on-mobile-devices-with-delphi-xe5 获得,我得到以下编译时错误:
[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”显示:“Architectures in the fat file: libReachability.a are: armv7 arm64”。我觉得没问题...
64 位 libReachability.a 文件已复制到 Program Files\Embarcadero\Studio\16.0\lib\iosDevice64\debug 目录。另一个团队成员能够很好地使用它,但他们在没有更新 1 的 XE8 上。关于如何修复此错误的任何想法?
最佳答案
检查所有 32 位版本的 libReachability 是否已从您的项目目录中删除。
关于ios - XE8.1 : file was built for archive which is not the architecture being linked (arm64),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31520424/