我刚刚更新到Xcode版本4.6.2(4H10003),并尝试在模拟器中运行以前运行的应用程序项目,并收到以下错误,并且构建失败。
从与编译器((clang-425.0.28))不同的分支((clang-425.0.27))构建的PCH文件
出了什么问题,如何解决?
Answers:
清理项目;hold Option,以便清除整个构建文件夹和中间版本。您可能必须退出Xcode,并在Finder中手动丢弃DerivedData文件夹的全部内容,如我在此处所述:如何清空缓存并清理所有目标Xcode 4
使用进行清理command+shift+k
,然后再次运行现有项目。
已知的问题
建造
当构建先前使用Xcode 4.6.1或更早版本构建的产品时,构建失败并显示与以下错误类似的错误:
从与编译器((clang-425.0.28))不同的分支((clang-425.0.27))构建的PCH文件
要解决此问题,请在构建产品之前选择“产品”>“清洁”。13663167
表演产品>清洁工程
我已试过上述所有的和它的作品在Xcode UI很好,但它仍然失败对我来说,当我跑xcodebuild联编的命令行。
那是由于对其他库及其预编译头的依赖性。从命令行运行时,看起来xcodebuild从这里存储/读取预编译的头文件:
/var/folders/v0/ztxy9kls7sv05dpmvjgg_xwr0000gn/C/com.apple.Xcode.501/SharedPrecompiledHeaders
清理完该文件夹后,xcodebuild成功。
sudo find /private/var/folders -name SharedPrecompiledHeaders
然后清空了生成的目录。像魅力一样工作。
特别是如果您是从命令行进行构建的,或者您具有构建脚本,则仅清洁xcode目标是不够的。您必须删除此文件夹。
预编译头文件的确切位置可以在项目中找到,部分文件夹路径是随机的(我想),尤其是在/var/folders/xx..xxx/C之后。
Target -> build settings => "Build locations" -> Precompiled headers cached path
运行终端并转到该文件夹并删除(使用命令),
#rm -fr SharedPrecompiledHeaders
清理您的项目并运行
产品->清洁,然后运行。