Admob链接器错误

时间:2011-05-23 21:53:20

标签: linker admob

我正在将Admob应用到我的iphone应用中。它适用于iOS 4.0的模拟器(带有目标SDK 3.0),这表明我已经正确地遵循了http://code.google.com/mobile/ads/docs/ios/fundamentals.html的初学者教程。但是,当尝试在具有iOS 4.3.1的设备上运行时,我收到2个链接器错误:

  

ld:警告:忽略文件   /Users/home/Documents/iPhoneDocs/Admobs/googleadmobadssdkios/GoogleAdMobAdsSDK/libGoogleAdMobAds.a,   文件是为不支持的文件格式而构建的,而不是   被链接的体系结构(armv7)体系结构的未定义符号   armv7:“_ OBJC_CLASS _ $ _ GADRequest”,引自:         RootViewController.o中的objc-class-ref“_OBJC_CLASS _ $ _ GADBannerView”,引自:         RootViewController.o中的objc-class-ref ld:未找到架构armv7的符号collect2:ld返回1退出状态

这是什么意思,我该如何解决? 我不明白的一件事是它引用的文件是有效的,但我希望它引用我的项目目录中的文件。

3 个答案:

答案 0 :(得分:12)

您需要将libGoogleAdMobAds.a添加到框架中。将 libGoogleAdMobAds.a 拖到将二进制文件链接到库。检查以下图片

http://code.google.com/mobile/ads/images/frameworks2.png

答案 1 :(得分:6)

对于那些在尝试通过CocoaPods使用AdMob时出现此错误的人,答案是将libGoogleAdMobAds.a库包含在Pod中(特别是Pods-AdMob)。似乎没有自动添加。

编辑:更多细节 - 你需要进入Pods项目,Build Phases,选择Ad Mob库,然后在与Libraries的二进制文件中按+按钮,选择Add Other ...,然后导航到Pod目录和其中的Google Ad Mob目录,然后添加libGoogleAdMobAds.a文件。

答案 2 :(得分:1)

enter image description here

当我尝试在我的项目上实施AdMob时,它发生在我身上。我正在使用Xcode 6,构建目标iOS 6.0。在尝试修复它之后。我发现它遗失了:

-lGoogleAdMobAds

在其他链接器标志中。

所以步骤是:

  • 按cmd + 1
  • 选定的应用目标(不是Pod)
  • 转到构建设置 - >其他链接标志
  • 添加" -lGoogleAdMobAds" (没有")

希望问题解决。