XCode链接错误:找不到-lAdMobDevice库

15
我正在尝试使用AdMob构建我的iPhone应用程序的精简版。我按照这里的指南(http://www.iphonedevsdk.com/forum/iphone-sdk-development/11358-creating-lite-version-app.html)创建了两个不同的目标。在轻量级版本中,我添加了一个名为LITEVERSION的宏,我正在使用#ifdef检查它并执行适当的操作。
但是,当我构建应用程序的精简版时,我会遇到链接器错误
LD:找不到库-lAdMobDevice 收集2:ld返回1个退出状态
但是,我可以毫无问题地构建完整版,而且还注意到即使删除#ifdef宏,完整版的构建也能正常工作。这表明libAdMobSimulator.a库已经成功链接完整版,但是在精简版上失败了。
非常感谢您提供任何指针! 干杯 Jugs

1
你是从一个别名目录中拖放文件吗?那就是我所做的。当我将文件复制到另一个目录,然后将其拖放到项目中时,它就可以工作了。这足以让你彻底发疯,不是吗!! - user2333332
6个回答

23

当我遇到这个问题时,原因是我像普通源文件一样通过拖拽方式将库添加到了Xcode中。

解决方法是将库移除,并使用"添加->现有框架..."对话框正确地添加它。


1
+1:对我来说解决了同样的问题。我没有确定,但可以假设当以这种方式添加库/框架时,XCode必须添加一些额外的搜索路径和/或链接器标志。 - Carlos P

16

我在使用CocoaPods库时遇到了类似的错误。

无法找到库-lPods-MyApp

我遇到这个错误是因为我打开了Xcode工程而不是workspace


5

我使用了 CocoaPods,然后运行了 pod install,问题就解决了。


1
我也遇到了同样的问题,但是重新安装Pods没有用!有其他的替代方法吗? - Nikhil Lihla

0

我在使用Google Analytics库时遇到了同样的问题。我的问题是我忘记在目标的构建设置中添加库搜索路径。(目标 -> 构建设置 -> 库搜索路径)


0

我找到了问题所在。我只是移除了所有的框架和库,然后为两个目标重新添加它们,这样就解决了!

干杯!


不要删除所有的框架和库来解决这个问题,只需删除相关的部分。 - darkheartfelt

0
我之所以出现这个问题,是因为友盟SDK中使用的libMobClickLibrary.a库文件缺失。我将libMobClickLibrary.a复制到项目文件夹后,问题得到了解决。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接