[ios] XCode 4.1致命錯誤:自編譯預編譯頭之後修改了stdlib


Answers

我可以通過簡單的方法修復它,只需從Xcode菜單欄中選擇產品>清潔,然後選擇產品>生成。

Question

建立一個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 - 沒有運氣。 任何人都知道這是什麼原因?




通過iOS模擬器>重置內容和設置...刪除模擬器的內容,然後點擊休息。 這將刪除標題和資源的所有現有預編譯實例。 這對我有效




我在跑步時在科爾多瓦發生了這個錯誤: 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

我試著用乾淨,並建立但不工作,finaly我刪除的文件夾“/var/folders/gb/3cf6hy4x7z3d7hprls6xmd0m0000gr/C/com.apple.DeveloperTools/6.0-6A313/Xcode'和作品! 這個提示,可能會幫助別人




只需清理(命令+ shift + K)和重建,我就能擺脫這個錯誤。




我想我會為Cryptognome的答案添加一個單獨的答案,而不是一個評論,因為當問題來自運行xcodebuild時,它實際上是一個不同的解決方案。 像Cryptognome一樣,我錯誤地使用了命令行工具xcodebuild 。 作為手動進入/var子文件夾的替代方案,我發現我可以為共享PCH設置自己的緩存,您可以通過設置環境變量SHARED_PRECOMPS_DIR ,例如,如下所示

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

這樣,我從來沒有在自動構建中得到錯誤。

注意在上面的命令中,我通常還會將OBJROOTSYMROOT env var設置為/ tmp中。 最後,我清理了一些東西。




Links