Xcode - ld:找不到-lPods的库

mrk*_*rks 174 xcode objective-c clang ios cocoapods

我在尝试构建iOS应用程序时遇到这些错误.

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

Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64
cd /Users/Markus/Development/xcode/totalbox-ios
export IPHONEOS_DEPLOYMENT_TARGET=7.1
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"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework CoreGraphics -framework UIKit -framework Foundation -lPods -Xlinker -dependency_info -Xlinker /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox_dependency_info.dat -o /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox
Run Code Online (Sandbox Code Playgroud)

构建设置中的PODS ROOT:

${SRCROOT}/Pods
Run Code Online (Sandbox Code Playgroud)

我没有创建这个Xcode项目 - 只是从git中取出来检查它.

H6.*_*H6. 566

如果项目使用CocoaPods,请注意始终打开.xcworkspace文件而不是.xcodeproj文件.

  • 打开.xcworkspace时出现错误消息 (7认同)
  • 我还发现构建pod目标很有用,而不是正常的Xcode目标. (2认同)
  • 打开它后,我根本无法运行我的项目。我该怎么办? (2认同)
  • 我在打开 .xcworkspace 时收到该错误消息(更具体地说,这一次在 Mac 上有效,而另一次无效)。就我而言,发现 **与重命名项目并稍后将其复制到另一台计算机相关的问题**,库未复制到新位置。比较:`/Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[OLDPROJECTNAME]-[LONGRNDCHARS]/Build/Products` 到:`/Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[NEWPROJECTNAME] ]-[LONGRNDCHARS]/构建/产品` (2认同)

Stu*_*ner 94

也有这个问题.我的CocoaPods安装有问题.除了KIF之外没有正确安装的吊舱.我跟着这个帖子的评论有所帮助.

基本上,我需要确保Build Active Architectures Only我的项目和Pods项目的设置是相同的.

  • 我必须确保我的项目目标和pod的目标之间的平等... (7认同)

小智 50

经过数小时的研究,这个解决方案对我有用:

(免责声明:结果可能因情况而异)

Library not found -lPods-(someCocoapod)错误是由于多个条目:

Settings(Target) > Build Settings > Linking > 'Other Linker Flags'
Run Code Online (Sandbox Code Playgroud)

很多其他帖子让我看到那里,当我搞砸了条目时我会看到错误的变化,但我不断对同一个错误进行一些修改.

失去了太多时间......

我的修复:

除去-lPods-(someCocoaPod)线路中的"其他链接器标记"列表仅当$(继承)是在顶部.起初我不确定,但令人安心的迹象是,当我离开编辑模式(继承)时,我仍然看到了对我的cocoapods的引用.我在调试和发布中测试过,这两个都给了我错误,问题立即解决了.


Rah*_*tel 32

似乎项目一直在使用cocoapods.并且您的项目中缺少该文件.

你不能从git下载它.你需要从cocoapods安装它.

如需更多帮助,您可以阅读CocoaPods教程简介

如果项目使用CocoaPods,请始终打开.xcworkspace文件而不是.xcodeproj文件


Riz*_*tar 26

如果您的项目中有多个目标,Cocoapods可能只与其中一个目标很好地集成在一起.

对于我拥有的libPods.a每个额外目标,我必须手动链接到"Link Binary With Libraries".

我的框架列表中的libPods.a

  • 实际上,我需要做的是删除一个过时的(我的项目名称).a库,因为我之前重命名了该项目,它只是卡在那里.我对你的答案进行了评价,因为它让我了解了问题所在. (2认同)

Dur*_*nat 23

我的问题已由以下配置修复:

Build Active Architecture Only: YES
Run Code Online (Sandbox Code Playgroud)


Sud*_*Plz 12

如果有人在react-native-fbsdk使用安装后来到此处解决错误Cocoapods,请记住,您必须删除Projects 构建阶段中的所有其他.a文件,并且只保留调用cocoapods的.a文件libPods-WhateverAppName.a.

只剩下这个了

这通常是由于运行rnpm link和rnpm工作方式引起的.

从我的构建阶段中删除了facebook核心.a文件后,我的项目再次启动并运行.


Waa*_*eda 11

我花了一些时间才弄清楚...我正在尝试构建 swift 框架,而该框架又依赖于一个 cocoa pod 库,在发布模式下创建构建时我收到此错误,在调试模式下它工作正常!

我验证了所有目标是否具有相同的部署目标,并发现不匹配的 pods 目标具有与我的框架不同的 iOS 部署目标,因此我在各处保留相同的 iOS 部署目标(swift 框架、pod 目标),它的工作方式非常神奇!

在此输入图像描述


gra*_*avy 10

上述答案都没有为我解决.

我所做的是pod install使用podtarget部分之外的命令运行.例如:

#WRONG
pod 'SOMEPOD'

target "My Target" do
    pod 'OTHERPODS'
end
Run Code Online (Sandbox Code Playgroud)

我快速修复它并将错误的pod返回到target它所属的部分并pod install再次运行:

# CORRECT
target "My Target" do
    pod 'SOMEPOD'
    pod 'OTHERPODS'
end
Run Code Online (Sandbox Code Playgroud)

但是在此期间发生的事情是,lib -libPods.a被添加到我的链接库中,这些库不再存在,因为已经存在了,所以不应该-libPods-My Target.a存在.

所以解决方案是进入我的Target的常规设置并转到Linked Frameworks和Libraries,然后-libPods.a从列表中删除.


Dav*_*Liu 8

我的步骤:

  1. 删除pods文件夹和'Pods'文件.
  2. 在终端中输入"pod install".
  3. 在终端中输入"pod update".

除了确保"Build Active Architectures"设置为YES之前,如前面的答案所述,这就是为我做的事情.


Tim*_*Tim 6

有一个同样的问题升级后Deployment target,从7.08.0并启用use_frameworks!

cocoapods没有PodName.aFrameworks我的项目部分删除以前生成的文件.

所以我不得不手动删除它们,因为它们导致了 linker error


Abu*_*min 6

可以通过以下步骤解决与lPods相关的问题

  • 选择您的项目目标。
  • "Build Phases""Link Binary With Libraries"
  • 现在,删除".a"正在产生问题的该库的文件。
  • 清洁并建造。

这将起作用。


Chi*_*kid 5

如果项目使用 CocoaPods,请注意始终打开 .xcworkspace 文件而不是 .xcodeproj 文件。如果您使用 .xcworkspace ,请通过删除 pod 重新安装 pod 文件,然后再次插入 pod 并安装!这对我有用