我在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_FLAGS
和DEFINES
,但Qt Creator选择了它们。
我看到有关整合的this文章。在文章的底部说:
当您进入“项目”模式时,您将看到一个额外的标签 “代码完成设置”,您可以在其中选择“自定义”标题。 选择此选项时,代码模型将使用该标题作为 缓存,但编译器不会使用它。
我的Qt Creator(2.8.0)中没有这个选项。任何想法如何解决这个问题,或者我需要使用git的clang集成构建Qt Creator?
答案 0 :(得分:0)
放任何
#define PCH
或
#undef PCH
到项目根目录中的PROJECT_NAME.config
文件,其中PROJECT_NAME
是Qt Creator中项目的名称 - 就像PROJECT_NAME.files
和PROJECT_NAME.includes
一样。