无法摆脱Apple LLVM 5.0错误

41

它一直说:

致命错误:文件 '/Applications/Xcode5-DP5.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/include/objc/NSObject.h'

自编译头文件

'/Users/jackiexu/Library/Developer/Xcode/DerivedData/ModuleCache/2MWVPCGUMQ29P/ObjectiveC.pcm'已经构建

注意:在修改系统头文件后,请删除模块缓存'/Users/jackiexu/Library/Developer/Xcode/DerivedData/ModuleCache/2MWVPCGUMQ29P'

1个错误已生成。

我必须至少删除派生数据五次了,但还是无济于事。有什么想法吗?


如果您的系统时间被设置回到几年前,早于NSObject.h文件修改日期的时间,就会发生这种情况。 - Sergey Kalinichenko
时间仍然正确。 - Aeveus
1
你重新安装了Xcode吗? - Scott Berrevoets
你尝试过使用cmd-option-shift-k清理构建文件夹吗?我想知道这是否是一件很简单的事情。这里有一个相关的主题:https://dev59.com/cW025IYBdhLWcg3w7qjL - IanStallings
1
很奇怪,重新安装并没有起作用,但是安装一个更新版本却可以。我原本使用的是 XCode 5 DP-5,并尝试了所有方法,包括手动删除整个“DerivedData”目录。最终我只是下载了 XCode 5 DP-6,整个编译过程非常顺利。但现在我仍然不知道问题的根源在哪里。 - Aeveus
显示剩余4条评论
14个回答

61

打开终端并输入以下命令: rm -rf ~/Library/Developer/Xcode/DerivedData/ModuleCache/*

清理项目并重新构建,对我很有效。


1
这对我有效!不要忘记在他发布的地址中使用您实际计算机的登录用户名替换 "yourusername"! - Albert Renshaw
2
最好是直接使用~/Library/Developer/Xcode/DerivedData/ModuleCache/*,而不是替换为“yourusername”。 - Harlan Haskins
嗨,Jackie Xu,你能接受这个作为答案吗?它似乎对大多数人都有效。 - Neva
2
只是清理项目就足够了。 - gsach
哦!终于……谢谢兄弟! - Hernan Arber

16

删除文件夹,清理应用程序,如有必要,请重新启动Xcode。


我已经尝试了,但是没有结果。 - Aeveus
4
我必须按照以下步骤操作:清除应用程序、关闭Xcode、删除ModuleCache中的所有内容(在Xcode指示你删除的目录上一级),然后重新启动Xcode。 - Joshua Gross
1
除非您删除ModuleCache,否则此方法无法正常工作。请参见下面的答案。 - Bill

12

根据Xcode 5:

  1. 点击 Xcode 首选项
  2. 转到位置选项卡
  3. 单击“派生数据路径”,这将导航到名为 DerivedData 的文件夹
  4. 删除整个文件夹并重新启动Xcode。

这对我很有效。

愉快的编码 :)


6
同样的事情也发生在我身上。警告提示我:
在修改系统头文件后,请删除模块缓存'/Users/yunus.mehel/Library/Developer/Xcode/DerivedData/ModuleCache/13XL2DHZVON89'。
所以,我重新启动了Xcode,从组织器中删除了派生数据,从derivedData文件夹中删除了派生数据;但这些都没有起作用。然后我意识到,解决方案已经存在:进入
“DerivedData/ModuleCache/13XL6DH2BON89”
并删除该文件夹,而不是“DerivedData/ ”。进行一次干净的构建,它会再次正常工作。

6

您尝试过重新安装Xcode吗?并使用cmd+shift+k进行清理吗?


4
运行这个脚本来删除在/Library/Developer/Xcode/DerivedData/var/folders中的所有相关文件:
# run with
# ruby reallyCleanXcode.rb
derivedDataFolder = Dir.glob(Dir.home + "/Library/Developer/Xcode/DerivedData/*")
moduleCache = Dir.glob("/var/folders/**/com.apple.DeveloperTools*")
FileUtils.rm_rf derivedDataFolder + moduleCache

1
删除所有的DerivedData(整个文件夹)对我来说似乎是解决问题的办法。 - csotiriou

2

这是编译、运行应用程序还是两者都有可能出现的情况?

您尝试过这个吗:

构建设置 - 构建位置 - 预编译头缓存路径 - 这里有一个文件夹...将其删除。


1
我是这样解决的:
退出并重新启动Xcode + 清理项目 + 清理构建文件夹 + 清理派生数据 + 删除/var/folders/.../.../C/com.apple.DeveloperTools/5.0.2-5A3005/Xcode/SharedPrecompiledHeaders + 拔掉我的iPhone 重新构建,就可以工作了 :)

感谢您指出/var/folders的位置。我在使用我们的一个框架时遇到了这个问题,清理...DeveloperTools/6.2/Xcode/...就解决了它。 - Dan Jackson

0

我曾经遇到同样的问题。我首先通过按下 "shift + command + k" 清理项目,然后重新构建项目,这对我起了作用。按下 "command + B" 可以重建你的项目。


0
除了所有其他“清理构建”的答案之外,直到我清空(高度未记录的!)/var/folders目录之前,没有任何方法适用于我。
显然,这是由OS-X维护的“杂项缓存”目录。 我甚至都没费心去弄清楚哪些是“正确的文件”,我只是清空了整个目录。
现在我又可以构建了。万岁!从终端开始:
[sudo] rm -rf /var/folders/*

(尽管我是通过身份验证从Finder中完成的。)(OS-X 10.9.latest)

额外线索:我可以使用XCode-6-beta构建,但在XCode-5中出现了愚蠢的损坏错误。


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