Qt Creator预编译头代码完成

时间:2013-08-28 09:02:49

标签: qt-creator code-completion precompiled-headers

我在Qt Creator中遇到代码完成问题。我有一个名为OgreHeaders.h的预编译头。我正在使用qmake mkspec unsupported/linux-clang建立clang。 我的项目构建,但当我编辑它时,我没有得到任何代码提示。我认为这是因为我的预编译头包含使用-include-pch编译器选项,而不是#include指令。所以Qt Creator代码模型甚至找不到它。我有一个关于在#ifdefs#ifndefs中包装标题的想法,所以它会解析它但不能编译。

#ifdef PCH
#include <OgreHeaders.h>
#endif

我需要在Qt Creator代码模型中以某种方式#define PCH,但不是在编译器的代码模型中。或者反过来。我尝试使用QMAKE_CXX_FLAGSDEFINES,但Qt Creator选择了它们。

我看到有关整合的this文章。在文章的底部说:

  

当您进入“项目”模式时,您将看到一个额外的标签   “代码完成设置”,您可以在其中选择“自定义”标题。   选择此选项时,代码模型将使用该标题作为   缓存,但编译器不会使用它。

我的Qt Creator(2.8.0)中没有这个选项。任何想法如何解决这个问题,或者我需要使用git的clang集成构建Qt Creator?

1 个答案:

答案 0 :(得分:0)

放任何

#define PCH

#undef PCH

到项目根目录中的PROJECT_NAME.config文件,其中PROJECT_NAME是Qt Creator中项目的名称 - 就像PROJECT_NAME.filesPROJECT_NAME.includes一样。