为什么 Qt Creator 需要非 Qt cmake 项目的工具包

Why does Qt Creator need a kit for non-qt cmake project

我从文件->新建中选择了一个非Qt C++项目,然后为构建系统选择了CMake,但是Qt Creator仍然坚持要我指定一个Qt工具包。

我知道对于 qmake 项目您需要一个用于 qmake 的工具包,但为什么它需要它用于 cmake?项目本身不会使用qt或qmake,我只想使用Qt Creator作为IDE。指定套件也会对 Qt 产生依赖性吗?

您可以自由选择 Qt Creator 中的套件,有或没有 Qt,有或没有 C++ 编译器,有或没有 cmake 二进制文件等。

Qt Creator 使用套件作为在(多个)项目中一起使用的东西的集合,这样您就不必一次又一次地定义这些相同的设置。工具包中可用的设置取决于您启用的插件,如果未设置某些信息,Creator 会非常高兴——只要您正在处理的项目不需要此信息。因此,如果您打开一个基于 qmake 的项目,如果套件没有设置 Qt 版本(这是提供 qmake 二进制文件的版本),创建者会抱怨。如果您尝试打开一个基于 cmake 的项目,那么 Creator 会抱怨 Kits 没有设置 cmake 二进制文件。套件绝不仅限于 qmake 项目,也适用于 cmake、autotools、nim、python 项目(以及任何其他受支持的项目;-)。

对于 CMake 项目,套件定义了要使用的 cmake 二进制文件、与该二进制文件一起使用的生成器、要传递给 cmake 的默认值、Qt Creator 内置的代码模型(以及 cmake 项目本身)使用的编译器在较新的 Qt Creator 版本中),代码模型使用的 Qt 版本(以及较新的 QtC 版本中的 cmake 项目),项目在构建时将看到的默认环境以及其他一些东西。