QtCreator 编辑器不突出显示 Qt 包含在 CMake 项目中

QtCreator editor don't highlight Qt includes with CMake project

我有一个依赖本地 qt 的大型 CMake 项目。

我想在 Qt Creator 中使用它。我可以在那里完全构建它,甚至可以调试它并在运行时查看变量。

唯一的问题是编辑器在编辑时看不到依赖项目的 qt headers 和 headers,并在下方显示黄色下划线,所以我没有 auto-complete还有等等...

是否可以通过类似地提供那些专门用于编辑器功能的包含路径来帮助 Qt Creator 解析代码?

您可以在 Qt Creator 选项中指定包含头文件和源文件的目录的相对路径:

如果我做对了,我在 QtCreator 更新后遇到了完全相同的问题。

问题是 QtCreator 会自动获取项目中的 header 文件,但它不会以某种方式将它们识别为 Qt 依赖项。这是我所做的:

set (HDRS Foo.hpp Bar.hpp)

# and then at the bottom of your project:

# adding a dummy target that won't be building by default 
# (and neither should be built manually)
add_executable (ShowHeadersInQtCreatorFfs
                EXCLUDE_FROM_ALL
                ${HDRS})
# just put the same libs as with your main executable
target_link_libraries(ShowHeadersInQtCreatorFfs Qt5::Core Qt5::Network)

所以我不得不做的事情乍一看很讨厌,但它应该有所帮助。它还帮助我将所有 header 都放入项目中(而不是只有那些与 .cpp 文件具有相同基名的文件)