记录-探索VS构建Qt项目

记录-探索VS构建Qt项目

在Qt Creator中创建CMake项目,使用Visual Studio2022打开创建好的项目。发现:

  • 项目中多出了两个文件:

    • CMakePresets.json
    • CMakePresets.json
  • 且在CMakePresets.json​中存在一个变量$env{QTDIR}


问题一:CMakePresets.jsonCMakePresets.json从哪出来的?作用是什么?

  • Qt Creator 创建 CMake 项目时,默认只会生成CMakeLists.txt​,不会主动创建CMakePresets.jsonCMakeUserPresets.json—— 这两个文件是 VS 为了适配自身的 CMake 工具链、提供更便捷的构建体验,自行隐式生成的,和 Qt Creator 无关。

  • CMakePresets.json 的创建时机:VS 首次打开 Qt Creator 创建的 CMake 项目时(首次加载阶段)。生成依据:

    1. 项目本身的基础信息:VS 会解析CMakeLists.txt中的核心配置(如项目名称、源码目录、目标类型等),作为生成预设的基础;
    2. VS 内置的 CMake 模板:默认生成 Windows 平台常用预设(如x64-Debug​、x64-Release​、x86-Debug等),适配 VS 自带的 MSVC 编译器;
    3. 本地环境信息:自动读取你的 VS 安装路径、本地 SDK 版本(如 Windows 10/11 SDK)、CMake 工具路径等,填充到预设的缓存变量中(如CMAKE_C_COMPILER​、CMAKE_SYSTEM_VERSION等)。
  • CMakeUserPresets.json 的创建时机:VS 中首次对 CMake 项目做「本地个性化配置」时

    • 该文件的创建是无感的,因为其是根据你通过Visul Studio的图形界面设置某些相关的配置时,根据这些配置自动生成的

问题二:$env{QTDIR}在哪定义的,值是什么?

  • $env{QTDIR}​是在VS的插件Qt Tools中定义的,该插件中可以导入Qt SDK路径,该路径就是$env{QTDIR}的值,如下图所示

PixPin_2025-12-27_16-57-22

posted @ 2025-12-27 17:04  重光拾  阅读(3)  评论(0)    收藏  举报