Xcode PCH问题 - 源文件中未包含的PCH中的项目
-
08-10-2019 - |
题
我刚刚使用XCode创建了一个“ C ++标准动态”库项目,并使用LLVM 2.0编译。我注意到PCH文件包含该行 #include <iostream>
但是文件 test.cp 还包括其中 #include <iostream>
陈述。
奇怪的是,通过删除该声明 test.cp, ,构建失败,错误 Semantic Issue – Use of undeclared identifier 'std'
尽管该声明也包括在PCH中。
PCH为什么不起作用?我缺少一个设置吗?我以前从未对他们做过任何事情(因为他们总是只是工作),所以我不确定即使在一个全新的项目中,我不确定什么会导致它不起作用。
解决方案
预编译标头用于加速编译。它们没有其他效果,特别是您仍然必须包括所需的标题。
编辑 - 在XCode中,PCH文件实际上是一个前缀标头,恰好已被预编译(默认项目配置)。检查 GCC_PRECOMPILE_PREFIX_HEADER
和 GCC_PREFIX_HEADER
构建设置。
其他提示
删除派生数据(窗口操纵器,项目选项卡,选择您的项目)以使Xcode重建PCH的索引。另外,如果您使用单元测试,则有一个单独的PCH针对UniteSts目标。确保这还包括所需的导入。
不隶属于 StackOverflow