Apple Mach-O Linker Error armv7s & libGoogleAdMobAds.a
Asked Answered
S

4

13

I've just upgraded my app to run on the new iPhone5 simulator, however when I try to build it for my iPhone 4S device, I get this Apple Mach-O Liner error.

ld: file is universal (3 slices) but does not contain a(n) armv7s slice: /Users/Darren/Documents/Dev stuff/My App/GoogleAdMobAdsSDKiOS-5.0.5/libGoogleAdMobAds.a for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation)

Can someone shed some light on what this error it and how to fix it? I am using adWhirl with AdMob.

Thanks

EDIT --- I am also getting this error in another project for the file libfacebook_ios_sdk.a

Sesqui answered 13/9, 2012 at 9:50 Comment(8)
What's your Deployment Target?Westering
I've just looked at another of my apps, and it has the same error when building for device.Sesqui
I've just started editing a third, and this time get the error for libfacebook_ios_sdk.aSesqui
This question talks about information that is still under the NDA that you signed (which you broke by posting here), so please try the apple developer forums instead.Jerrybuilt
The iPhone 5 became public knowledge last night so I'm not sure which part of my question breaks the NDASesqui
I got this working now. But I guess I can't say how.Sesqui
The part about Xcode 4.5 and iOS 6 SDK, which are clearly still under NDA in bold letters when you log into your developer account.Equator
I found the answer here: [Is there a compiler flag to indicate lack of armv7s architecture][1]. [1]: #12405878Denton
S
11

The same answer as I gave in this thread:

If you want to remove the support for any architecture, try this:

Project -> Build Settings -> remove the architecture from "valid architectures"

You can use this as a temporary solution until the library has been updated. You have to remove the flag from your own project.

Senegal answered 16/9, 2012 at 12:10 Comment(0)
K
2

iPhone5's cpu is A6(armv7s). The existing Admob sdk does not support it. We have to wait for admob to update the sdk.

Knockknee answered 14/9, 2012 at 9:33 Comment(4)
Their new sdk wont work with AdWhirl, so we either have to move to AdMob mediation, drop AdMob or stick with AdWhirl & AdMob but remove armv7s support from the build.Sesqui
The admob page says it's not compatible with AdWhirl cl.ly/image/1u2b2F1M0P1pSesqui
@Darren, that says you can not use admob sdk as an AdSense SDK in AdwhirlSextuplet
This is the google group thread for news about it, for the moment still nothing. groups.google.com/forum/?fromgroups=#!topic/…Aleras
M
2

Update to Admob 6.2.0 or later.

See this post: http://googleadsdeveloper.blogspot.com/2012/09/migrating-to-admob-v62-for-ios.html.

Also, include the AdSupport framework and remove the -all_load flag. You've got to use the -ObjC flag however.

This works for me, finally!!

Madrid answered 27/9, 2012 at 16:55 Comment(0)
C
0

Try this:

This article copy an armv7 lib code as an armv7s and build into the original lib. so xcode will see that lib has an armv7s code/arch

http://www.galloway.me.uk/2012/09/hacking-up-an-armv7s-library/

Cullender answered 10/10, 2012 at 13:26 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.