在现有工作区中安装 KIF 时出现错误“找不到 -lPods-MyProjectTests-KIF 的库”

Posted

技术标签:

【中文标题】在现有工作区中安装 KIF 时出现错误“找不到 -lPods-MyProjectTests-KIF 的库”【英文标题】:Error "library not found for -lPods-MyProjectTests-KIF" when installing KIF in existing workspace 【发布时间】:2015-02-13 10:54:12 【问题描述】:

将 KIF 添加到现有 Xcode 6 工作区时遇到此错误:

ld: library not found for -lPods-MyProjectTests-KIF

MyProject.xcworkspace/ 位于 MyProject.xcproject/ 的父目录中(并且还依赖于其他几个同级项目),我的情况可能有什么特别之处:

./MyProject.xcworkspace/
./MyProject/
./MyProject/MyProject.xcworkspace/
./MyProject/Podfile

我的Podfile如下:

target 'MyProjectTests', :exclusive => true do
  pod 'KIF', '~> 3.0', :configurations => ['Debug']
  workspace 'MyProject'
end

当我运行pod --project-directory=./MyProject install 并打开MyProject.xcworkspace 时,目标MyProject 仍然可以编译,但在构建MyProjectTests 时出现引用链接错误。

我该如何克服这个问题?

更新我现在的猜测是,某些设置与Pods-MyProjectTests.*.xcconfig 的inherited 不正确,可能是由于之前的编辑在某些地方的项目或目标级别删除了$(inherited)s(虽然这通常会产生warnings)。

【问题讨论】:

【参考方案1】:

我最初的猜测(在更新的问题中)是错误的。 pod ... install 创建了一个新的MyProject.xcworkspace\ 作为Podfile 的兄弟,而不是修改当前目录中的那个。我错误地假设了第二个。

这些步骤奏效了:

    MyProject.xcworkspace/从原来的位置下移 在新位置运行pod installMyProject.xcworkspace/移回 回到原来的位置 在 Xcode 中,删除其对 Pods.xcodeproj/ 的引用 (因为文件系统中的相对位置已经改变)和 重新创建对它的新引用。

由于这有点麻烦,我还发布了一个新问题。

【讨论】:

以上是关于在现有工作区中安装 KIF 时出现错误“找不到 -lPods-MyProjectTests-KIF 的库”的主要内容,如果未能解决你的问题,请参考以下文章

修改现有表的架构时出现“找不到对象”错误

在 Docker 中运行 Azure DevOps 作业时出现“找不到具有给定版本的模块 Az.Accounts”错误

当我尝试在 emacs 中安装自动完成时出现错误

如何在我的 Kubernetes 容器中安装 tar 二进制文件以使 kubectl cp 工作?

在 ubuntu11.4 中安装 phpmyadmin 时出现访问被拒绝错误

在 Ubuntu 中安装 Torch 时出现 CMake 错误