Qt Creator 使用 cmake 自动完成

Joh*_*lay 5 qt cmake qt-creator

在 Qt Creator 中,我删除了 qmake 步骤,并添加了我自己的 cmake 步骤和 CMakeLists.txt 文件。现在,对于我在项目中内部定义的任何类,自动完成功能都可以工作。例如,我的自定义类的类名以不同的颜色显示,当我将鼠标悬停在变量上时,它会提供有关该变量的详细信息。

但是,对于我在项目中使用的任何第三方库,自动完成功能不起作用。这些类以标准白色显示,当我将鼠标悬停在该库中的变量上时,不会出现任何内容。但这些库在 CMakeLists.txt 中定义正确,并且我的程序可以正常编译和运行。因此,Qt Creator 最终可以找到这些库,但在代码编辑期间无法找到自动完成功能。解决办法是什么?

小智 1

您可以尝试以下方法,它对我有用。

  1. 打开要在其中执行自动完成的 C++ 文件。
  2. 转到“工具 -> C++ -> 检查 C++ 代码模型”
  3. 在弹出窗口中,您将在“快照和文档和文档 -> 包含”下看到红色的未解析文件
  4. 手动找到包含这些文件的文件夹
  5. 在左侧平移的项目视图中,找到“[项目名称].include”文件
  6. 添加包含未解析文件的目录并立即保存,您应该可以使用自动完成功能。

在我看来,qt-creators 构建代码模型并不采用 cmake 中的包含路径,而是依赖于本身创建的文件。