Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

missing required architecture armv7 in file?

I keep getting this warning and errors can anyone help?

    ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms       /iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/System/Library/Frameworks//SystemConfiguration.framework/SystemConfiguration, missing required architecture armv7 in file
    Undefined symbols for architecture armv7:
    "_SCNetworkReachabilityCreateWithAddress", referenced from:
  +[Reachability reachabilityWithAddress:] in Reachability.o
   "_SCNetworkReachabilityCreateWithName", referenced from:
  +[Reachability reachabilityWithHostName:] in Reachability.o
   "_SCNetworkReachabilityUnscheduleFromRunLoop", referenced from:
  -[Reachability stopNotifier] in Reachability.o
   "_SCNetworkReachabilityScheduleWithRunLoop", referenced from:
  -[Reachability startNotifier] in Reachability.o
   "_SCNetworkReachabilitySetCallback", referenced from:
  -[Reachability startNotifier] in Reachability.o
   "_SCNetworkReachabilityGetFlags", referenced from:
  -[Reachability connectionRequired] in Reachability.o
  -[Reachability currentReachabilityStatus] in Reachability.o
   ld: symbol(s) not found for architecture armv7
   clang: error: linker command failed with exit code 1 (use -v to see invocation)

My app workings fine in the Simulator I don't get this it is just when I build to the phone.

like image 424
Popeye Avatar asked Apr 27 '12 09:04

Popeye


4 Answers

You need to link against the SystemConfiguration framework. Select your project in Xcode's project navigator, select your app target, and select the Build Phases tab. Under Link Binary With Libraries, click on the "+" button and choose SystemConfiguration.framework.

There may be other framework dependencies that you need to add in the same way, but adding SystemConfiguration is what fixed the same errors for me.

ETA: I jumped right to the errors and didn't see the ld warning at the top of the paste. If you're already linking to SystemConfiguration, maybe try removing and re-adding it, and if all else fails, update Xcode. The most recent release definitely has the right architecture, so it sounds to me like either your project is looking in the wrong place or something's wrong with the framework itself.

like image 144
Siobhán Avatar answered Oct 28 '22 06:10

Siobhán


Happened to me when I was including a framework that was built using Carthage and it's deployment target has been set to iOS 11 but I was building for iOS 9. Therefore the 32-bit architectures (armv7, i386) were missing. I have changed the deployment target for that framework to iOS 9 and that fixed my problem.

like image 34
Marián Černý Avatar answered Oct 28 '22 08:10

Marián Černý


This problem is related to the XCode messing up debugging, profile and final release files, when trying to get a shorter build time reusing old files.

That's why an architecture is missing (and it's probably the opposite of what you've already used), because XCode is trying to reuse some previous files that it built for a single architecture.

Clean your project in XCode (⇧ + ⌘ + K) and try to clean all other third-party libraries as well. After that, try to rebuild your app directly in the desired release mode. This worked 100% times without the need to restart XCode.

XCode stinks, what else could I say??

like image 40
Rafael Setragni Avatar answered Oct 28 '22 07:10

Rafael Setragni


Pls make sure to add all the necessary library to build your app. this error seems like you have missed some files..

like image 44
Vijayavenkatesh Avatar answered Oct 28 '22 07:10

Vijayavenkatesh