it-swarm.dev

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

构建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 - 没有运气。是什么导致了这个?

73
grfryling

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

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

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

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

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

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

153
logancautrell

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

76
Darwin Smith II

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

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

对我来说是:

/var/folders/_w/t0mj70hd1439tqgxff7_mtt00000gn/C/com.Apple.Xcode.501/SharedPrecompiledHeaders
37
Ants

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

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

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

注意在上面的命令中,我通常也会将OBJROOTSYMROOT env var设置为也在/ tmp中构建。最后,我把事情搞清楚了。

16
charles

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

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

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

4
David Gish

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

3
Sanjeev

解:

1)制品 - >清洁

2)制品 - >构建

错误类型:

一种构建错误

原因之一:

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

其中一个场景:

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

3
Durai Amuthan.H

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

1
Noah Dyer

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

Xcode-> delete->再次安装

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

0
Narasimha Nallamsetty

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

0
Allen

我跑的时候在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

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

0
Crystian