【问题标题】:Cocoapods ld: library not found for -lPods-ProjectnameCocoapods ld:找不到-lPods-Projectname 的库
【发布时间】:2014-07-27 12:47:33
【问题描述】:

我已经通过它安装了 cocoa pods 库和一些框架。现在,当我编译项目时,构建失败了。

错误: ld:找不到 -lPods-Project 的库 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

这里是部分文字:

Ld /Users/polzovatel/Library/Developer/Xcode/DerivedData/Project-bybevfqrgvqqldbzsgewqafpmylj/Build/Products/Debug-iphonesimulator/Project app/Project normal i386
    cd /Users/polzovatel/Projects/iOS-master/Project_iPhone
    export IPHONEOS_DEPLOYMENT_TARGET=6.0
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

我需要做什么来解决这个问题?

【问题讨论】:

  • 你有没有运行pod install并打开xyz.xcworkspace而不是xyz.xcproject
  • 我知道如何处理可可豆荚。我在几个项目中使用了这个 pod,但我第一次看到这个问题。我从客户那里下载的这个项目。我已经尝试删除 xcworkspace 并运行 pod install。我也尝试删除 Pods 文件夹。
  • 打开 xyz.xcworkspace 文件对我有用。不知何故 Pod 项目没有出现在 IDE 中,我意识到打开的是 xcproject 文件而不是更新的工作区。

标签: ios objective-c cocoapods


【解决方案1】:

通过删除 Link Binary 中的 -lPods-Projectname.a 来修复它(对于较新的版本,请删除 Frameworks 组下的 -lPods-Projectname.a)。

【讨论】:

  • 你让我摆脱了很多尴尬
  • 就是这样,谢谢。
  • 我在哪里可以找到这个? ://
  • 谢谢。有谁知道为什么这个解决方案实际上有效?
  • 在仔细阅读了各种 cmets 和解决方案之后,这是唯一对我有用的!谢谢。
【解决方案2】:

每当我执行“pod install”时,它都会导致我花费几个小时来修复与之相关的东西。所以,我删除了 CocoaPods 的东西,再也没有问题了!现在我是幸运和幸福的人。

【讨论】:

  • 我不得不承认,每隔几个月我就会有一个类似的愿望。
  • 是的,我也是。但是......如果我们不能,谁可以;)
  • 仅仅 6 周后,我又回到这里寻找为什么一个目标莫名其妙地失败并出现“ld: library not found for -lPods-AFNetworking”,而另一个基本相同的目标却成功了.
  • 我同意你的看法...... CocoaPods 中有太多移动部件。成本/收益比非常糟糕。大多数时候,我们花费更多时间来修复 CocoaPods 问题,而不是简单地将源文件复制/粘贴到我们的项目中。 CocoaPods 在某种程度上被认为是“最先进的”,因此很难避免,但对于私人项目,我可能会跳过它。因此,您必须不时手动更新源,但那又怎样?另一方面,代码不会一直随机中断。
【解决方案3】:

你应该删除你的库的确切位置是:

  • 在您的目标的“构建阶段”中删除“使用库链接二进制文件”中的 -lyourlibname.a。

【讨论】:

  • 这对我来说毫无意义,但它有效!我想我们不需要在子项目中链接 pod 库,因为我们也会在父项​​目中链接它。
【解决方案4】:

您可以尝试 "Build Active Architecture Only" = YES 。它可能正在解决问题。

【讨论】:

  • 关键是,对于 Pod 和 Project 目标,Build Active Architecture Only 设置是相同的。通常是用于调试,否用于发布
【解决方案5】:

确保您的项目和Pods 项目的Build Active Architectures Only 设置对于调试和发布配置是相同的!这对我来说是个问题。

【讨论】:

  • 你是神,先生。
  • 这也是我的问题。一旦我将我的项目设置为与 Build Active Architectures Only 的 Pods 项目设置匹配,它就可以工作了。
【解决方案6】:

确保您的 Project/Target 和 Pod/Target 中的 Build Active Architectures Only 和 Pod 相同。 我们经常将 debug 设置为 yes 并设置 release no。

【讨论】:

  • 这对我来说是个问题。 Pods 项目在调试模式下“仅构建活动架构”=YES。
【解决方案7】:

我意识到打开的是 xcproject 文件而不是更新的工作区。这解决了我的错误。希望这些信息也能对其他人有所帮助。

【讨论】:

  • 作为 cocoapods 的新手,我什至没有意识到我应该打开 xcworkspace 而不是 xcproject。这现在看起来很明显,但从我读过的 cocoapods 指南中真的不是很明显。
  • 就是这样!祈祷。
【解决方案8】:

如果其他答案都没有帮助你,试试这个:

  • 使用pod deintegrate 分解可可豆荚。检查此链接https://github.com/kylef/cocoapods-deintegrate
  • 搜索“pod”的目标和项目文件的构建设置。任何看起来像是属于可可豆荚的东西,删除。
  • 最后,再次运行pod install

【讨论】:

  • pod deintegrate 对我来说是真正的节省时间!
  • 理论上不错,但 pod install 出于某种原因并没有在解体后将所有内容重新放入以正确构建。
【解决方案9】:

转到 Product > Scheme > Edit Scheme... > Build > + > 添加 Pods-Projectname.a 并将其拖到顶部 > Clean & Build your project。

【讨论】:

    【解决方案10】:

    我有一个非常不同的经历。我尝试从构建设置中删除该库,但无济于事。老实说,我看不出它背后的逻辑。

    我所做的是尝试一个新的pod install。所以它给了我这个错误

    [!] ProjectName [Debug] 目标覆盖在 Pods/Target Support Files/Pods-/Pods-.debug.xcconfig 中定义的 LIBRARY_SEARCH_PATHS 构建设置。这可能会导致 CocoaPods 安装出现问题 - 使用$(inherited) 标志,或 - 从目标中删除构建设置。

    [!] ProjectName [Release] 目标覆盖在 Pods/Target Support Files/Pods-/Pods-.debug.xcconfig 中定义的 LIBRARY_SEARCH_PATHS 构建设置。这可能会导致 CocoaPods 安装出现问题 - 使用$(inherited) 标志,或 - 从目标中删除构建设置。

    所以我做了它告诉我的事情,我添加了$(inherited) 标志来构建设置。一切都很好

    【讨论】:

    • 解决了我的问题。
    【解决方案11】:

    就我而言,我发现项目 (iOS 11.4) 与目标 (iOS 10.3) 的部署目标不匹配。将目标更新到 iOS 11.4 解决了这个问题。

    项目 > 信息 > 部署目标 > iOS 部署目标
    项目>目标>常规>部署目标>目标

    播客文件: platform :ios, '11.4'

    【讨论】:

      【解决方案12】:

      当我不小心打开项目而不是工作区时遇到了这个问题,所以缺少 Cocoapods ......

      【讨论】:

        【解决方案13】:

        检查您的项目 -> 目标 -> 构建阶段 -> 将二进制文件与库链接

        【讨论】:

          【解决方案14】:

          指向您的 Pods 项目,将 BaseSDK 设置为 iOS SDK,因为“pod install”过程将其清除。 还将 Build Valid Architecture Only 设置为 NO 应该可以的。

          【讨论】:

            【解决方案15】:

            在编译同一个项目时,我遇到了一个类似的错误,它影响了我的一台计算机,但不影响另一台。

            我重新安装了 cocoapods,所有的 gem,重建了项目,但都没有工作。我终于让它编译了,但要求我完全删除 Xcode 和相关数据(iPhone 模拟器,DerivedData)然后重新安装 Xcode。

            【讨论】:

            • 哦,好像很难。
            【解决方案16】:

            我在添加新的构建配置后遇到了这个错误。

            pod install 有帮助,因为它为每个构建配置添加了单独的设置。

            【讨论】:

              【解决方案17】:

              我也有同样的问题。所以检查你的 pod 文件的 platform :ios 。并检查部署信息目标版本。请确保两个文件的版本相同。如果两者不相同,则将执行问题。在库更新我的反应原生项目后,我也遇到了问题

              (目标信息 = 选择您的项目,然后选择目标,一般部分部署信息可用。)

              【讨论】:

                猜你喜欢
                • 2017-03-31
                • 2015-12-22
                • 1970-01-01
                • 2015-01-23
                • 2014-06-25
                • 1970-01-01
                • 1970-01-01
                • 2015-12-06
                • 1970-01-01
                相关资源
                最近更新 更多