繁体   English   中英

Cocoapods ld:找不到-lPods-Projectname 的库

[英]Cocoapods ld: library not found for -lPods-Projectname

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

错误: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"

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

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

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

开始使用 Swift 包管理器 (SPM)。 如果您的第 3 方库仍然不支持 SPM,我鼓励您自行采取措施添加 SPM 支持。 这是说明

或者为 3rd 方库创建一个关于添加对 SPM 的支持的问题。

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

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

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

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

确保Build Active Architectures Only in your Project/Target 和 in your Pod/Target and Pod 相同。 我们经常将调试设置为是,将发布设置为否。

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

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

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

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

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

我所做的是尝试新的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)标志来构建设置。 一切都运作良好

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

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

Podfile: platform :ios, '11.4'

在此处输入图像描述 在此处输入图像描述

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

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

在此处输入图像描述

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

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

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

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

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

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

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

在此处输入图像描述

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM