将应用程序放入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和其他库外,建议您检查“库搜索路径”。在某些情况下,当您复制或复制目标时,Xcode决定它需要用“ \”转义任何双引号。请确保删除所有\,它应该看起来像这样-
通过使用多个'\'前缀路径,我能够复制该错误。
我有一个类似的“找不到库”问题。但这是因为我不小心使用了.xcodeproj
文件而不是.xcworkspace
文件。
选择您的目标,请"Build Phases"
在"Link Binary With Libraries"
删除".a"
该库的文件。清洁并建造。
如果与可可脚类有关的错误如下:
library not found for -lPod-...
您需要检查其他链接器标记并将其从那里删除。
额外信息:如果您有使用可可足类的旧项目。最近,您需要添加use_frameworks!到您的podfile。cocoapods不会再将这些库添加到您的“其他链接器标志”中,从而导致其继承。因此,在使用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
如果您使用的是椰壳,请使用该.xcworkspace
文件而不是默认.xcodeproj
文件。
如果错误如下
ld:找不到用于-lpods的库
我发现在项目的“框架”组中以某种方式创建了红色文件“ libPods.a”(类似于丢失的文件)。我只是简单地删除了该文件,一切都很好。
编辑:另一个解决方案
我已经在类似问题中回答的另一个解决方案在此链接中
转到构建阶段->使用库链接二进制文件并删除显示错误的库,因为该库在项目文件夹中不可用
如果您打开项目文件而不是工作区,也会发生这种情况。我自己这样浪费了一天。
答案很晚,但是这里是我尝试过的事情的清单,所以如果有人想解决这个问题,它将放在一个地方。
- 有效架构= armv7 armv7s
- 仅构建活动架构=否
- 目标->构建设置->其他链接器标志= $(继承)
- 目标->构建设置->库搜索路径= $(继承)
- 产品清洁
- 终端中的Pod更新
就我而言,有一个命名问题。我的库被调用了ios-admob-mm-adapter.a
,但Xcode希望该名称以前缀lib开头。我刚刚将我的lib重命名为libios-admob-mm-adapter.a
并解决了该问题。
我使用Cocoapods,它在目标的构建设置中将库与“其他链接器标志”选项链接在一起。旗帜看起来像-l"ios-admob-mm-adapter"
希望对别人有帮助
简单地说,GoogleAdMobAds.a
项目目标中缺少。对我来说是libAdIdAccessLibrary.a
请检查附件的屏幕截图
对于我来说,会发生此问题,因为我为IOS安装了材料库。解决这个问题
1:转到目标应用程序的“构建设置”。
2:搜索其他链接器标志
3:打开其他链接器标志,并检查错误中提到的库。
4:删除该标志。
5:清理并构建。
希望这能解决您的问题。
如果ld: library not found for -{LIBRARY_NAME}
发生这种情况,是因为库文件不存在。
在应用程序目标的“构建阶段”“库搜索路径”选项卡上检查库路径。
库文件的路径必须符合真实路径,例如,如果您的文件位于项目根目录中,则必须将路径设置为 $(PROJECT_DIR)
Static Library
是由引起的编译时间错误Static Linker
ld: library not found for -l<Library_name>
Library not found for
当您未包含指向库的库路径时,会出现错误Library Search Paths
ld
表示Static Linker
找不到库的位置。作为开发人员,您应该帮助链接器并指向Library Search Paths
```
Build Settings -> Search Paths -> Library Search Paths
```
- 如果您第一次
.xcodeproj
在Cocoapods支持下打开一个新项目(),也可能会遇到此错误,请运行pod update
。要解决此问题,只需关闭该项目并打开创建的工作区即可(.xcworkspace
)
我知道这有点老了,但是我遇到了类似的问题,并且运行“ pod update”为我解决了这个问题。我的图书馆错误是因为AFNetworking ...
如果您没有在Pod文件中使用显式版本,请小心进行Pod更新。
这个错误很奇怪。
我在使用-ldAfnetworking时遇到此错误,并且仅将项目复制到其他路径并可以正常工作。
我尝试将构建配置重命名Release
为Production
,但显然可可豆不喜欢它。我再次将其重命名为Release
,并且一切正常。
@raurora的答案为我指明了正确的方向。我在“ watchkitapp扩展/库”路径中包含了库。在这种情况下,库搜索路径需要使用'\'进行转义,但是链接器似乎不理解这一点。为了解决/解决该问题,我将库路径上移了一层,使其不再位于名称中包含空格的目录中。
我只是更新了pod文件“ pod update”,它开始对我正常工作。
在我的项目中运行“ pod update”解决了“找不到-lSTPopup库”错误的问题。
评论特雷弗·潘霍斯特(Trevor Panhorst)的答案:
“如果您没有在Pod文件中使用显式版本,请小心进行Pod更新。”
简单的解决方案。这是解决问题的方法:
- 转到目录
platforms/ios
- 然后,执行命令
pod install
而已。这应该安装缺少的库。
- 清理生成文件夹
- 重新启动XCode
走了...
我在找不到类似的库错误。最终,这就是我能够解决的方式
- 在开始使用Xcode Archive之前,先用flutter构建iOS
- 将IOS部署目标更改为更高的目标iOS 11.2。早些时候,我遇到了类似8.0的问题,但出现了以上所有错误。
- 确保Xcode中的IOS部署目标在Project,Target和Pod中相同
评论已关闭!