Xcode 4.1致命错误:自编译预编译头文件以来修改了stdlib

grf*_*ing 73 xcode compiler-errors ios

构建iPhone应用程序,使用:

  • Xcode 4.1
  • 基础SDK iOS 4.3
  • Apple LLVM编译器2.1

我开始收到以下错误:

致命错误:自编译预编译头文件以来,文件'/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/../lib/clang/2.1/include/stdint.h'已被修改

我尝试重新安装Xcode和OS X - 没有运气.是什么导致了这个?

log*_*ell 153

首先通过Product - > Clean菜单(从XCode 4.6.2开始)尝试清理构建.

如果仍然无效,请打开管理器(从菜单中选择Window-> Organizer).组织器打开后,从窗口顶部的工具栏中选择"项目".在左侧是项目列表,选择您遇到问题的项目.

详细信息面板(列表右侧)将显示项目名称,位置,状态.下方的行显示派生数据所在的位置.单击最右侧的"删除..."按钮.将出现一个对话框,单击"删除".

您也可以手动删除派生数据:

~/Library/Developer/Xcode/DerivedData/{project name + gobly-gook}
Run Code Online (Sandbox Code Playgroud)

该目录包含项目的内置产品和索引.删除它是可以的,因为它只包含Xcode生成的项目.Xcode将在下次打开项目时重新生成所有内容.

  • 或者你可以简单地"触摸"你的`.pch`文件(或者在其中添加和删除一个字符),这样就可以重新编译它,而不需要清理和重建你的所有项目(这样下一个构建的速度就会快得多) (23认同)
  • 我在xcode 5中尝试了这个解决方案,但它不起作用. (3认同)

小智 76

我能够以更简单的方式修复它,只需选择Product> Clean,然后选择Xcode菜单栏中的Product> Build.

  • +1.通过按Cmd + Opt + Shft + K进行相同但"深度清洁" (8认同)

Ant*_*nts 37

存档时,删除DerivedData文件夹对我不起作用.

我不得不查看构建设置 - 构建位置 - 预编译的头缓存路径并删除该文件夹.

对我来说是:

/var/folders/_w/t0mj70hd1439tqgxff7_mtt00000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders
Run Code Online (Sandbox Code Playgroud)


cha*_*les 16

我想我会为Cryptognome的答案添加一个单独的答案而不是评论,因为当问题来自运行时,它实际上是一个不同的解决方案xcodebuild.像Cryptognome一样,我在命令行工具中遇到了错误xcodebuild.作为手动进入/var子文件夹的替代方法,我发现我可以为共享PCH设置自己的缓存,您可以通过设置环境变量来完成 SHARED_PRECOMPS_DIR,例如如下

xcodebuild -target Foo -configuration Release SHARED_PRECOMPS_DIR=/tmp/foo/SharedPCH
Run Code Online (Sandbox Code Playgroud)

这样,我从来没有在自动构建中得到错误.

请注意,在上面的命令中,我通常也会在/ tmp中设置OBJROOTSYMROOTenv var.最后,我把事情搞清楚了.