Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt Creator使用cmake自动完成_Qt_Cmake_Qt Creator - Fatal编程技术网

Qt Creator使用cmake自动完成

Qt Creator使用cmake自动完成,qt,cmake,qt-creator,Qt,Cmake,Qt Creator,在Qt Creator中,我删除了qmake步骤,并添加了我自己的cmake步骤和一个CMakeLists.txt文件。现在,对于我在项目中内部定义的任何类,autocomplete都可以工作。例如,自定义类的类名以不同的颜色显示,当我将鼠标悬停在某个变量上时,它会给出该变量的详细信息 但是,对于我在项目中使用的任何第三方库,autocomplete都不起作用。这些类以标准白色显示,当我将鼠标悬停在此库中的变量上时,不会显示任何内容。但是这些库在CMakeLists.txt中定义正确,我的程序编

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


但是,对于我在项目中使用的任何第三方库,autocomplete都不起作用。这些类以标准白色显示,当我将鼠标悬停在此库中的变量上时,不会显示任何内容。但是这些库在CMakeLists.txt中定义正确,我的程序编译和运行良好。因此,QtCreator最终可以找到这些库,但它无法在代码编辑期间找到这些库,以使autocomplete正常工作。解决方案是什么?

你可以尝试以下方法,它对我很有效

打开一个C++文件,在其中您要完成自动完成。< /LI>
  • 转到“工具-> C++ + >检查C++代码模型”
  • 在弹出窗口中,您将在“快照和文档&文档->包含”下看到红色的未解析文件
  • 手动查找包含这些文件的文件夹
  • 在左侧窗格的项目视图中,找到“[project name].include”文件
  • 添加包含未解析文件的目录并保存 现在你应该有自动完成工作
  • 在我看来,qt创建者在代码模型中构建代码并不采用cmake的包含路径,而是依赖于自己创建的文件