Xcode PCH问题 - PCH中的项目不包含在源文件中

时间:2010-10-17 06:11:46

标签: c++ xcode precompiled-headers pch

我刚刚使用Xcode创建了一个“C ++标准动态”库项目,并使用LLVM 2.0编译。我注意到PCH文件包含行#include <iostream>,但文件 Test.cp 也包含#include <iostream>语句。

奇怪的是,通过删除 Test.cp 中的语句,构建失败并显示错误Semantic Issue – Use of undeclared identifier 'std',尽管该语句也包含在PCH中。

为什么PCH不起作用?我缺少一个设置吗?我之前从未做过任何事情(因为他们总是工作)所以我不确定是什么导致它无法工作,即使是一个全新的项目。

2 个答案:

答案 0 :(得分:1)

删除派生数据(Window-Organizer,Projects选项卡,选择项目)让XCode重建PCH的索引。 此外,如果使用单元测试,则UnitTests目标有一个单独的PCH。确保这还包括所需的导入。

答案 1 :(得分:-1)

预编译头文件用于加速编译。它们没有任何其他效果,特别是您仍然需要在您需要的地方包含标题。

编辑 - 在Xcode中,pch文件实际上是一个恰好预编译的前缀头(使用默认项目配置)。检查GCC_PRECOMPILE_PREFIX_HEADERGCC_PREFIX_HEADER构建设置。