3

我有一个非常烦人的问题。
我在 Dropbox 上备份了我的代码,但现在我在编译时遇到了这个错误

clang:错误:没有这样的文件或目录:'../firstFoo-Prefix.pch'

由于我在 Xcode 中的项目和我的项目文件夹中唯一的 .pch 文件是 secondFoo-Prefix.pch 并且我不知道如何解决此错误,因此我决定删除每个 .pch 文件,因此我进入了 Project> Build Settings并删除 Prefix Header 中的所有内容并将 Precompile Prefix Header 设置为 NO。

在此之前,前缀标头的值是 secondFoo-Prefix.pch 而不是 firstFoo-Prefix.pch。
即使编译器不应该查找 .pch 文件,我仍然会收到该错误。
我在我的项目中到处寻找,但似乎找不到 firstFoo-Prefix.pch 的任何地方。
有任何想法吗?
谢谢

4

2 回答 2

4

当 Xcode 项目文件数据库变得混乱以致引用的文件没有出现在导航区域中但仍以某种方式包含在用于构建阶段的各种文件列表之一中时,可能会发生这种情况(不是您的错)。

要查看是否是这种情况:

  • 在 Finder 中,右键单击项目文件并选择“显示包内容”
  • 右键单击文件“project.pbxproj”和“打开方式->TextEdit.app”
  • 在 TextEdit 菜单中:'Edit->Find->Find...' [或 command-F] 然后输入 '.pch'
  • 查看所有出现的 '.pch' [命令 -G 移动到下一个]

如果您发现出现“../firstFoo-Prefix.pch”,那么您的项目文件已损坏。查看事件的上下文将为您提供一些有关损坏发生在哪个区域的指示(例如,构建阶段编译文件列表)。

有时只是删除这些引用(当然是在备份项目文件之后)对我们有用,但有时它只会让事情变得更糟。最安全的恢复是创建一个新项目文件并手动复制所有文件夹组和设置。您的源代码一切正常,只是需要修改的交叉引用和构建设置。

于 2014-10-18T23:29:58.433 回答
1

使用此组合进行构建清理:Shift+ Option+ Command+K

于 2014-10-18T22:40:49.120 回答