我在我的应用程序中添加了一个错误后出现错误。昨天该应用程序工作正常,但今天它不再工作..错误如下:
ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如何解决?谢谢!!
答案 0 :(得分:243)
我有一个类似的"未找到的图书馆"问题。但是,这是因为我不小心使用了.xcodeproj
文件而不是.xcworkspace
文件。
答案 1 :(得分:98)
有时您只需删除库的引用并再次添加引用。
除了从头开始再次添加Google移动广告SDK和其他库之外,我建议您查看图书馆搜索路径。有些情况下,您复制或复制目标,Xcode决定它需要转义任何双引号"与' \#39;。确保你删除了所有的 - 它应该是这样的 -
我能够通过为多个'前缀我的路径来复制错误。
答案 2 :(得分:60)
选择您的目标,转到"Build Phases"
删除该库的"Link Binary With Libraries"
文件中的".a"
。
清洁和建设。
答案 3 :(得分:57)
如果与Cocoapods有关的错误如下:
library not found for -lPod-...
您需要检查其他链接标记并将其从中删除。
额外信息:如果您有一个使用cocoapods的旧项目。最近,您需要将 use_frameworks!添加到您的podfile中。 cocoapods不会将库添加到您的其他链接器标志 不再导致它继承。因此,您可能需要删除它们 手动从之前添加的其他链接器标志 使用use_frameworks!
答案 4 :(得分:52)
对于我的案例 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
答案 5 :(得分:9)
如果您打开项目文件而不是工作区,也会发生这种情况。我这样浪费了一天。
答案 6 :(得分:8)
转到构建阶段 - >链接二进制文件库并删除显示错误的库,因为该库在项目文件夹中不可用
答案 7 :(得分:4)
答案迟到了,但这里是我尝试过的事情清单。如果有人想尝试解决这个问题,它会在一个地方。
答案 8 :(得分:3)
如果您正在使用cocoapods并且没有使用.xcworkspace
文件而不是默认的.xcodeproj
文件,则会发生这种情况。
答案 9 :(得分:1)
在我的情况下,有一个命名问题。我的库被称为ios-admob-mm-adapter.a
,但Xcode期望该名称应以前缀 lib 开头。我刚刚将我的lib重命名为libios-admob-mm-adapter.a
并解决了问题。
我使用Cocoapods,它在我的目标的构建设置中使用其他链接器标志选项链接库。该标志看起来像-l"ios-admob-mm-adapter"
希望它可以帮助别人
答案 10 :(得分:1)
简单的解决方案。这是解决问题的方法:
platforms/ios
pod install
就是这样。这应该安装缺少的库。
答案 11 :(得分:0)
走开...
答案 12 :(得分:0)
我也遇到了同样的问题,花了超过 24 小时来解决这个问题,我尝试了上述解决方案中的所有方法,但最终对我有用的是
1)构建设置 -> 选择目标 2)基础知识 3)用户自定义 4) 将 VALID_ARCHS 改为 arm64
答案 13 :(得分:0)
我在找不到类似的库错误。最终,这就是我能够解决的方式
答案 14 :(得分:0)
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
答案 15 :(得分:0)
在发生ld: library not found for -{LIBRARY_NAME}
的情况下,因为库文件不存在。
在应用程序目标的“构建阶段”中检查库路径 “库搜索路径”标签。
库文件的路径必须符合实际路径,例如,如果您的文件位于项目根目录中,则必须将路径设置为$(PROJECT_DIR)
答案 16 :(得分:0)
对于我来说,发生此问题是因为我为IOS安装了Material Library。 解决这个问题
1:转到目标应用的构建设置。
2:搜索其他链接器标记
3:打开其他链接器标志,并检查错误中提到的库。
4:删除该标志。
5:清理并构建。
我希望这可以解决您的问题。
答案 17 :(得分:0)
在我的项目中运行“ pod更新”解决了“找不到-lSTPopup库”错误的问题。
评论Trevor Panhorst的答案:
“如果未在pod文件中使用显式版本,请小心进行pod更新。”
答案 18 :(得分:0)
我只是更新了pod文件“ pod update”,它开始对我正常工作。
答案 19 :(得分:0)
答案 20 :(得分:0)
我尝试将构建配置Release
重命名为Production
,但显然可可豆荚并不喜欢它。我再次将其重命名为Release
,一切都很好。
答案 21 :(得分:0)
这个错误非常奇怪。
我在-ldAfnetworking中遇到此错误,我只在其他路径中复制我的项目并且有效。
答案 22 :(得分:0)
我知道这有点老了,但我遇到了类似的问题,并且正在运行“更新”#39;为我修好了。我的库错误是AFNetworking ...
如果您不在pod文件中使用显式版本,请小心进行pod更新。
答案 23 :(得分:-3)
watchman watch-del-all; npm start -- --reset-cache
似乎是为我做的......我发现当其他所有方法都失败时我经常这样做