Xcode版本4.6.2(4H1003)编译器错误

我刚刚更新到Xcode版本4.6.2(4H10003),并试图在模拟器中运行一个以前工作的应用程序项目,并收到以下错误,生成失败。

由不同分支((clang-425.0.27))编译的PCH文件((clang-425.0.28))

出了什么问题,如何解决?

做一个干净的项目; 保持选项,以便清除整个生成文件夹和中间体。 您可能必须退出Xcode并在Finder中手动抛弃DerivedData文件夹的全部内容,如下所述: 如何清空caching并清除所有目标Xcode 4

转到您的项目的Build Settings ,find一个名为Precompiled Headers Cache Path的设置,然后删除该文件夹

使用command+shift+k进行清理并再次运行现有项目。

在这里输入图像说明

从XCode 4.6.2发行说明

已知的问题

build造

当构build一个以前使用Xcode 4.6.1或更早版本构build的产品时,构build失败的错误类似于以下错误:

由不同分支((clang-425.0.27))编译的PCH文件((clang-425.0.28))

要解决此问题,请在构build产品之前select产品>清理。 13663167

执行产品>清洁工作

我已经尝试了上述所有,并从Xcode用户界面,它工作正常,但它仍然失败,当我从命令行运行xcodebuild

这是由于依赖于其他库及其预编译头文件。 从命令行运行时,看起来像xcodebuild存储/从这里读取预编译头:

 /var/folders/v0/ztxy9kls7sv05dpmvjgg_xwr0000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders 

清理完该文件夹之后,xcodebuild成功了。

特别是如果你从命令行构build或者你有一个构build脚本,清理xcode目标是不够的。 你必须删除这个文件夹。

预编译头文件的确切位置可以在项目中find,文件夹path的一部分是随机的(我猜),尤其是在/var/folders/xx..xxx/C之后。

 Target -> build settings => "Build locations" -> Precompiled headers cached path 

运行terminal并转到这个文件夹并删除(使用命令),

 #rm -fr SharedPrecompiledHeaders 

在这里输入图像说明

我不得不手动删除~/Library/Developer/Xcode/DerivedData/ Clean对我不起作用。

使用“command + shift + k”清理你的项目,那么你会没事的。

清理你的项目并运行

产品 – >清洁然后,运行。