jaadooviewer
jaadooviewer

Reputation: 368

XE8.1: file was built for archive which is not the architecture being linked (arm64)

My development environment: Delphi XE8 Update 1 running on Windows 7 (x64). XCode 6.4 running on Mac Yosemite 10.10.4. iOS SDK's are added in XE8 and working fine for both 32 bit/64 bit targets.

When building an iOS app in Delphi with a 64bit iOS target using 64 bit version of libReachability.a obtained from http://delphi.radsoft.com.au/2013/11/checking-for-an-internet-connection-on-mobile-devices-with-delphi-xe5, I get following compile time error:

[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

This error doesn't come up if the target is iOS 32 bit or iOS simulator. On mac, "lipo -info" on the libReachability.a file used for 64 bit iOS target shows: “Architectures in the fat file: libReachability.a are: armv7 arm64″. It looks OK to me...

The 64 bit libReachability.a file has been copied to Program Files\Embarcadero\Studio\16.0\lib\iosDevice64\debug directory. Another team member is able to use it just fine but they are on XE8 without the Update 1. Any thoughts on how to fix this error?

Upvotes: 1

Views: 884

Answers (1)

ThisGuy
ThisGuy

Reputation: 1415

Check that all 32-bit versions of libReachability are removed from your project directory.

Upvotes: 2

Related Questions