使用以下方法构建iPhone应用程序:
- Xcode 4.1
- 基本SDK iOS 4.3
- 苹果LLVM编译器2.1
我已经开始出现以下错误:
致命错误:自从构建预编译头以来,文件'/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/../lib/clang/2.1/include/stdint.h'已被修改
我试过重新安装Xcode和OS X-没运气。是什么原因造成的?
Answers:
首先尝试通过Product-> Clean菜单(从XCode 4.6.2开始)进行全新构建。
如果仍然无法使用,请打开管理器(从菜单中选择“窗口”->“管理器”)。打开管理器后,从窗口顶部的工具栏中选择“项目”。左侧是项目列表,选择您遇到问题的项目。
详细信息面板(在列表的右侧)将显示项目名称,位置,状态。下面的行显示了派生数据的位置。单击最右边的删除...按钮。将出现一个对话框,单击“删除”。
您还可以手动删除派生数据:
~/Library/Developer/Xcode/DerivedData/{project name + gobly-gook}
该目录包含该项目的内置产品和索引。这是OK将其删除,因为它仅包含由Xcode中产生的项目。Xcode将在下次打开项目时重新生成所有内容。
.pch
文件(或在其中添加和删除字符),以便重新编译该文件,而无需清理和重建所有项目(这样,下一次构建会更快)
$ cd ~/Library/Developer/Xcode/
有用的是:1)2)然后删除整个DerivedData文件夹:~/Library/Developer/Xcode$ rm -rf DerivedData
。
归档时,删除DerivedData文件夹对我不起作用。
我必须查看“构建设置”-“构建位置”-“预编译的头缓存路径”并删除该文件夹。
对我来说是:
/var/folders/_w/t0mj70hd1439tqgxff7_mtt00000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders
我以为我会添加一个单独的答案,而不是对Cryptognome的答案发表评论,因为实际上,当问题来自运行时,它是一个不同的解决方案xcodebuild
。像Cryptognome一样,我在命令行工具中遇到了错误xcodebuild
。作为手动进入/var
子文件夹的替代方法,我发现我可以为共享PCH设置自己的缓存,您可以通过设置环境变量来完成 SHARED_PRECOMPS_DIR
,例如,如下所示
xcodebuild -target Foo -configuration Release SHARED_PRECOMPS_DIR=/tmp/foo/SharedPCH
这样,我就不会在自动构建中出错。
注意,在上述命令中,我通常还会将OBJROOT
and SYMROOT
env var设置为也在/ tmp中构建。最后,我清理了所有东西。
xcodebuild clean build
使构建再次起作用。
xcodebuild命令行工具有时会因此错误而失败。当我将svn工作空间同步到较早的版本时,这发生在我身上。xcodebuild工具将其预编译的标头保留在提到的Ants文件夹中:
/var/folders/... scrambled eggs .../-Caches-/com.apple.Xcode.503/SharedPrecompiledHeaders/
您必须查看build命令本身以查看实际的文件夹名称(-include / var / ...),但是如果要针对不同的体系结构(例如arm6,arm7,模拟器)进行构建,则可能会使用多个文件夹名称。如果您在使用命令行构建时遇到此问题,只需删除/var/.../SharedPrecompiledHeaders中的所有内容。
SHARED_PRECOMPS_DIR=/tmp/foo/SharedPrecompiledHeaders
作为参数传递给来使用该子文件夹xcodebuild
。这样,我就不会在自动构建中出错。
1)产品->清洁
2)产品->构建
一种构建错误
一个人可能已经更改了框架文件。更改另一个框架所依赖的框架时,有时会发生这种情况。预编译的头缓存不同步,并且Xcode无法编译给定的项目。
一个人可能已经选择了“跳转到定义”,并在选择了框架控件之后进行了一些更改。
我首先尝试了但没有用。最后,我删除了Xcode,然后重新安装。现在工作正常。
Xcode->删除->重新安装
这可能会帮助一些人...
我在跑步时在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”,即可正常工作!这个提示,可能对别人有帮助