错误“未find库”
我在将应用程序放入admob后出现错误。 昨天的应用程序工作正常,但今天它没有工作了..错误如下:
ld: library not found for -lGoogleAdMobAds clang: error: linker command failed with exit code 1 (use -v to see invocation)
如何解决它? 谢谢 !!
有时您只需删除库的引用并再次添加引用。
除了再次从头开始添加Google Mobile Ads SDK和其他库之外,我build议您检查“ 库searchpath” 。 有些情况下,你复制或复制一个目标,Xcode决定它需要用“\”来转义任何双引号。确保你删除了所有的 – 它应该看起来像这样 –
我能够复制错误,做前缀我的path与多个“\”。
我有一个类似的“库未find”的问题。 但是,这是因为我不小心使用.xcodeproj
文件而不是.xcworkspace
文件。
如果错误与Cocoapods相关如下:
library not found for -lPod-...
您需要检查其他链接器标志并将其从中删除。
额外的信息:如果你有一个使用椰子树的老项目。 最近你需要添加use_frameworks! 到你的pod文件。 cocoapods不会将库添加到您的其他链接器标志,因为它的inheritance。 因此,您可能需要从使用use_frameworks之前添加的其他链接器标志手动删除这些标志!
对于我的情况Xcode 7 ,也在Xcode 9.1中工作
ld: library not found for -ldAfnetworking clang: error: linker command failed with exit code 1 (use -v to see invocation)
将“ Build Active architecture Only
设置为“ Yes
select您的目标,进入"Link Binary With Libraries"
中的".a"
"Build Phases"
"Link Binary With Libraries"
删除该库的".a"
文件。 清洁和build设。
如果错误如下
ld:找不到-lpods的库
我发现一个红色的文件“libPods.a”(如丢失的文件)是以某种方式在项目的框架组中创build的。 我只是简单地删除该文件,一切都很好。
编辑:另一个解决scheme
另一个解决scheme,我已经在类似的问题已经回答了这个链接
如果打开项目文件而不是工作区,也会发生这种情况。 我这样浪费自己一天的时间。
我知道这有点旧了,但是我碰到类似的问题,运行“pod update”为我解决了这个问题。 我的图书馆错误是与AFNetworking …
如果不在pod文件中使用显式版本,请小心地更新pod。
这个错误很奇怪。
我有-ldAfnetworking这个错误,我只复制我的项目在其他path和工作。
在我的情况下,有一个命名问题。 我的库被称为ios-admob-mm-adapter.a
,但Xcode的预期,名称应该以前缀lib开始。 我刚刚将我的lib重命名为libios-admob-mm-adapter.a
并解决了这个问题。
我使用Cocoapods,并在我的目标的构build设置中链接库与其他链接器标志选项。 该标志看起来像-l"ios-admob-mm-adapter"
希望它可以帮助别人
我尝试重命名我的生成configurationRelease
到Production
,但显然cocoa豆不喜欢它。 我把它重新命名为Release
,而且一切都很好。
@拉罗拉的回答指出了我正确的方向。 我在“watchkitapp Extension / lib”path中包含库。 在这种情况下,库searchpath需要用'\'来转义,但是链接器似乎并不理解这一点。 为了修复/解决这个问题,我把我的libpath上移了一层,所以它不再位于名称中包含空格的目录中。
迟到的答案,但这里是我试过的东西的名单。因此,如果有人想要解决这个问题,它将在一个地方。
- 有效的架构= armv7 armv7s
- 仅构build主动架构=否
- 目标 – >生成设置 – >其他链接器标志= $(inheritance)
- 目标 – >生成设置 – >库searchpath= $(inheritance)
- 产品清洁
- 在terminal中更新Pod
watchman watch-del-all; npm start -- --reset-cache
似乎为我做…我发现我经常这样做时,一切都失败了