在 AdMob 中放入应用程序后出现“库未找到”错误

我得到一个错误后,我把我的应用程序在一个 AdMob。这个应用程序一直运行到今天。错误如下:

ld: library not found for -lGoogleAdMobAds
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我该怎么办,谢谢。

412131 次浏览

有时只需删除库的引用并再次添加引用即可。

除了从头开始添加 GoogleMobileAdsSDK 和其他库之外,我建议您查看 图书馆搜寻路径。当您复制或复制一个目标时,Xcode 决定需要用’’转义任何双引号。确保你删除所有的-它应该像这样-

enter image description here

我能够复制的错误,通过做前缀我的路径与多个’。

我也遇到过类似的“找不到库”问题。但是,这是因为我不小心使用了 .xcodeproj文件而不是 .xcworkspace文件。

如果与 Cocoapods 有关的错误如下:

library not found for -lPod-...

你需要检查 其他连接器标志并从那里移除它。

附加信息: 如果您有一个使用 cocoapods 的旧项目。最近您需要将 Use _ Framework!添加到您的 podfile 中。 Cocoapods 不会将库添加到您的其他链接器标志 因此,你可能需要移除这些 手动从其他链接器标志,他们之前添加 使用 use _ Framework!

如果错误类似于

Ld: 库未找到-lpods

我发现一个红色的文件“ libPods.a”(像丢失的文件一样)以某种方式在项目的 Framework 组中创建。我只是删除了那个文件,一切都很顺利。

编辑: 另一种解决方案

我在类似问题中已经回答过的另一个解决方案是 这个链接

我知道这是一个有点老,但我只是碰到了类似的问题,并运行“豆荚更新”为我修复了这一点。我的图书馆错误是 AFNetworking..。

如果您在 pod 文件中没有使用明确的版本,那么在执行 pod 更新时一定要小心。

对于我的案件 Xcode 7,也在 Xcode 9.1/9.2工作

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

enter image description here

这个错误非常奇怪。

我在使用-ldAfnetwork 时出现了这个错误,我只能在其他路径下复制我的项目。

我的情况是有一个命名问题。我的库名为 ios-admob-mm-adapter.a,但是 Xcode 希望这个名称以前缀 Lib开头。我刚刚将我的 lib 重命名为 libios-admob-mm-adapter.a并修复了这个问题。

我使用 Cocoapods,它在目标的构建设置中使用 其他连接标志选项链接库。旗子看起来像 -l"ios-admob-mm-adapter"

希望能帮到别人

我尝试将构建配置 Release重命名为 Production,但显然可可豆不喜欢它。我把它重新命名为 Release,一切都构建得很好。

@ raurora 的回答为我指明了正确的方向。我将库包含在我的“ watkitapp 扩展/库”路径中。在这种情况下,库搜索路径需要用一个“”来转义,但链接器似乎不理解这一点。为了修复/解决这个问题,我将 lib 路径上移了一级,这样它就不再位于名称中包含空格的目录中。

选择您的目标,转到 "Link Binary With Libraries"中的 "Build Phases"删除该库的 ".a"文件。 清洁及建造。

答案迟到了,但这是我尝试过的事情的清单。所以如果有人想解决这个问题,它会在一个地方。

  1. 有效的架构 = armv7 armv7
  2. 仅构建活动体系结构 = 否
  3. 目标-> 构建设置-> 其他链接器标志 = $(继承)
  4. 目标-> 构建设置-> 库搜索路径 = $(继承)
  5. 清洁产品
  6. 终端的吊舱更新

简单地说,GoogleAdMobAds.a在项目目标中缺失了。 对我来说,它是 libAdIdAccessLibrary.a请检查附件截图

enter image description here

转到 构建阶段-> 链接二进制与库并删除显示错误的库,因为该库在项目文件夹中不可用

我只是更新了豆荚文件“豆荚更新”,它开始为我正常工作。

在我的项目中运行“ pod update”修复了“ library not found for-lSTPopup”错误的问题。

特雷弗•潘霍斯特(Trevor Panhorst)的回答是:

“如果你不在你的 pod 文件中使用明确的版本,那么在进行 pod 更新时要小心。”

简单的解决办法,我是这样解决问题的:

  1. 转到目录 platforms/ios
  2. 然后,执行命令 pod install

就是这样,这应该能安装丢失的库。

对我来说,这个问题的出现是因为我安装了 IOS 的材料库。 来解决这个问题

1: 转到目标应用程序的 生成设置

第2集: 搜寻 其他连接标志

3: 打开其他链接器标志并检查错误中提到的库。

第四: 移除那面旗帜。

5: 清洁和建造。

我希望这能解决你的问题。

在发生 ld: library not found for -{LIBRARY_NAME}的情况下,是因为库文件不存在。

检查应用程序目标“构建阶段”上的库路径 “库搜索路径”选项卡。

库文件路径必须根据实际路径,例如,如果您的文件位于项目的根目录中,您必须设置类似于 $(PROJECT_DIR)的路径

未找到

它是由 Static Linker引起的 Static Library的编译时错误

ld: library not found for -l<Library_name>

1. 当没有包含到 Library Search Paths(LIBRARY_SEARCH_PATHS)的库路径时,可以得到错误 Library not found for

ld表示找不到库位置的 Static Linker。作为一个开发人员,您应该帮助链接器并指向 Library Search Paths

Build Settings -> Search Paths -> Library Search Paths

2.如果您第一次使用 Cocoapods 支持打开一个新项目(.xcodeproj) ,运行 pod update,您也会得到这个错误。要修复这个问题,只需关闭这个项目并打开创建一个工作区(.xcworkspace )

[词汇]

  1. 清除生成文件夹
  2. 重启 XCode

走了。

我在库中找到了类似的 bug,但是没有找到。最终我就是这样解决它的

  1. 在开始使用 Xcode Archive 之前,使用 flutter build iOS
  2. 将 IOS 部署目标更改为更高的目标 iOS 11.2。之前我有一个类似8.0的东西,它给出了以上所有的错误。
  3. 确保 Xcode 中的 IOS 部署目标在 Project、 Target 和 Pods 中是相同的

我也面临着同样的问题,花了超过24个小时来解决这个问题,我尝试了以上所有的解决方案,但最终对我有效的是

  1. 生成设置-> 选择目标
  2. 基本知识
  3. 用户定义的
  4. 将 VALID _ ARCHS 更改为 arm64

伙计,你需要重新安装。

  1. 删除简单的“ rm-rf”豆荚。
  2. 安装 Pods“ bundle exec pod Install”

那就好。

这里也一样,但是在我的情况下,用回答克诺博来解决