编译时 Xcode 出现 .pch 错误,clang 文件未找到。

4

我有一个非常烦人的问题。
我将代码备份在Dropbox上,但现在编译时出现以下错误:

clang: error: no such file or directory: '../firstFoo-Prefix.pch'

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

在此之前,“Prefix Header”的值为secondFoo-Prefix.pch而不是firstFoo-Prefix.pch。
即使编译器不应查找.pch文件,我仍然会遇到该错误。
我已经在项目中的所有位置搜索了firstFoo-Prefix.pch,但似乎无处可寻。
有什么建议吗?
谢谢

3个回答

4
这可能是由于 Xcode 项目文件数据库损坏导致的(不是你的错),因此引用的文件未出现在导航区域中,但仍以某种方式包含在用于构建阶段的各种文件列表之一中。
要查看是否存在此情况,请执行以下操作:
  • 在 Finder 中,右键单击项目文件,然后选择“显示包内容”
  • 右键单击文件 “project.pbxproj”,然后选择“打开方式 ->TextEdit.app”
  • 在 TextEdit 菜单中:'编辑->查找->查找...' [或 command-F] 然后输入'.pch'
  • 查看所有'.pch'出现次数[command-G移至下一个]
如果您发现'../firstFoo-Prefix.pch'的出现,则您的项目文件已损坏。查看出现的情况将为您提供有关损坏发生位置的一些指示(例如,构建阶段编译文件列表)。
有时只需删除这些引用(当然在备份项目文件之后)即可解决问题,但有时会使问题更加严重。最安全的恢复方法是创建一个新的项目文件,并手动复制所有文件夹组和设置。您的源代码完全没有问题,只需要重新制定交叉引用和构建设置。

谢谢!我通过重新创建项目并复制源代码来解决了这个问题。在此之前,我尝试编辑project.pbxproj文件,但是出现了链接器错误。 - halfblood17
git deintegrate,git install 帮助了我的问题,在 xcode 更新后。 - Michail Pidgorodetskiy

2
使用以下组合键进行干净的构建:Shift+Option+Command+K

0
在我的情况下,我有一个框架需要在构建成功后从派生数据中添加到主项目中。因此,如果需要复制项目,则未打勾标记,这就是为什么会出现错误的原因,@ZAZ和@chiwangc也提到在构建之前清理它。enter image description here

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接