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

时间:2011-08-15 22:25:08

标签: ios xcode compiler-errors

使用以下方式构建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 - 没有运气。造成这种情况的原因是什么?

11 个答案:

答案 0 :(得分:153)

首先尝试通过产品进行干净的构建 - >清洁菜单(从XCode 4.6.2开始)。

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

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

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

~/Library/Developer/Xcode/DerivedData/{project name + gobly-gook}

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

答案 1 :(得分:76)

我能够通过简单地选择产品>以更简单的方式解决它。清洁,然后产品>从Xcode菜单栏构建。

答案 2 :(得分:37)

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

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

对我而言:

/var/folders/_w/t0mj70hd1439tqgxff7_mtt00000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders

答案 3 :(得分:16)

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

xcodebuild -target Foo -configuration Release SHARED_PRECOMPS_DIR=/tmp/foo/SharedPCH

这样,我从未在自动构建中得到错误。

注意在上面的命令中,我通常还会在/ tmp中设置OBJROOTSYMROOT env var。最后,我清理了一切。

答案 4 :(得分:4)

xcodebuild命令行工具有时会因此错误而失败。当我将svn工作区同步到早期版本时,这发生在我身上。 xcodebuild工具将其预编译的头文件保存在Ants提到的文件夹中:

/var/folders/... scrambled eggs .../-Caches-/com.apple.Xcode.503/SharedPrecompiledHeaders/

您必须查看构建命令本身以查看实际的文件夹名称(-include / var / ...),但如果您正在构建不同的体系结构(arm6,arm7,模拟器,例如)如果您在命令行构建中遇到此问题,只需删除/ var /.../ SharedPrecompiledHeaders中的所有内容。

答案 5 :(得分:3)

通过iOS模拟器删除模拟器的内容>重置内容和设置...并点击休息。这将删除标头和资源的任何现有预编译实例。这对我有用

答案 6 :(得分:3)

解决方案:

1)制品 - >清洁

2)制品 - >生成

错误类型:

一种构建错误

原因之一:

可能已经更改了框架文件。 当对另一个框架所依赖的框架进行更改时,有时会发生这种情况。预编译的头缓存不同步,Xcode无法编译给定的项目。

其中一个场景:

可能选择了Jump To Definition并在选择框架控件后进行了一些更改。

答案 7 :(得分:1)

我能够通过清理(命令+ shift + K)和重建来摆脱这个错误。

答案 8 :(得分:0)

我首先尝试但没有用。最后我删除了Xcode并重新安装。现在工作正常......

Xcode->删除 - >再次安装

这可能对某人有帮助......

答案 9 :(得分:0)

当我跑步时,我在cordova上遇到了这个错误:cordova run ios

fatal error: file '/Users/.../cordova/platforms/ios/CordovaLib/CordovaLib_Prefix.pch' has been modified since the precompiled header
  '/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode/SharedPrecompiledHeaders/CordovaLib_Prefix-bfgesbulnxtdepfwgniffeysypgv/CordovaLib_Prefix.pch.pch' was built
note: please rebuild precompiled header
  '/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode/SharedPrecompiledHeaders/CordovaLib_Prefix-bfgesbulnxtdepfwgniffeysypgv/CordovaLib_Prefix.pch.pch'
1 error generated.

** BUILD FAILED **    

The following build commands failed:
    CompileC build/CordovaLib.build/Debug-iphoneos/CordovaLib.build/Objects-normal/armv7/NSDictionary+Extensions.o Classes/NSDictionary+Extensions.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    CompileC build/CordovaLib.build/Debug-iphoneos/CordovaLib.build/Objects-normal/armv7/CDVInvokedUrlCommand.o Classes/CDVInvokedUrlCommand.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler

我尝试使用clean和build但是不起作用,最后我删除了文件夹'/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode'并且正常工作! 这个提示,可能会帮助别人

答案 10 :(得分:0)

Clean方式对我不起作用,最终我通过重新安装XCode解决了这个问题。

相关问题