我刚刚更新到Xcode版本4.6.2(4H10003)并尝试在模拟器中运行以前正在运行的应用程序项目并收到以下错误并且构建失败。
PCH文件从不同的分支((clang-425.0.27))构建而不是编译器((clang-425.0.28))
出了什么问题以及如何解决?
答案 0 :(得分:182)
清理项目;保持选项,以便清理整个构建文件夹和中间件。您可能必须退出Xcode并在Finder中手动丢弃DerivedData文件夹的全部内容,如我在此处所述:How to Empty Caches and Clean All Targets Xcode 4
答案 1 :(得分:21)
转到项目的Build Settings
,找到名为Precompiled Headers Cache Path
的设置,然后删除该文件夹
答案 2 :(得分:12)
使用command+shift+k
进行清理并再次运行现有项目。
答案 3 :(得分:9)
已知问题
建筑
在构建以前使用Xcode 4.6.1或更早版本构建的产品时,构建失败并出现类似于此错误的错误:
PCH文件从不同的分支((clang-425.0.27))构建而不是编译器((clang-425.0.28))
要解决此问题,请选择产品>在构建产品之前清洁。 13663167
执行产品>清洁工作
答案 4 :(得分:9)
我已经尝试了以上所有内容,它在Xcode UI中运行良好,但是当我从命令行运行 xcodebuild 时,它仍然失败了。
这是由于对其他库及其预编译头的依赖性。从命令行运行时,看起来像xcodebuild存储/从此处读取预编译的头文件:
/var/folders/v0/ztxy9kls7sv05dpmvjgg_xwr0000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders
清理完该文件夹后,xcodebuild成功。
答案 5 :(得分:4)
我不得不手动删除~/Library/Developer/Xcode/DerivedData/
清洁对我不起作用。
答案 6 :(得分:4)
特别是如果您从命令行构建或者您有构建脚本,则清理xcode目标是不够的。您必须删除此文件夹。
预编译头的确切位置可以在项目中找到,文件夹路径的一部分是随机的(我猜),特别是在/var/folders/xx..xxx/C之后。
Target -> build settings => "Build locations" -> Precompiled headers cached path
运行终端并转到此文件夹并删除(使用命令),
#rm -fr SharedPrecompiledHeaders
答案 7 :(得分:0)
使用“command + shift + k”来清理你的项目,然后你会没事的。
答案 8 :(得分:0)
清理您的项目并运行
产品 - >清洁 然后,跑。