当前位置: 首页 > article >正文

使用cmake preset + vs2022构建Qt C++项目

直奔主题:
Qt6官方推荐已经从qmake到cmake迁移了,以后cmake的支持会越来越多。
cmake preset是cmake新版本中添加的内容,通过预设去构建cmake项目
由于vs2022的默认预设会自动生成,需要配置环境变量,windows版本的是msvc版的,如果需要切换mingw64需要在preset文件中添加对应的mingw64的环境。需要用到自定义的配置环境要将hidden字段置为false
内容如下:

{
  "version": 3,
  "configurePresets": [
    {
      "hidden": false,
      "name": "test",
      "generator": "Ninja",
      "binaryDir": "${sourceDir}/build/",
      "cacheVariables": {
        "CMAKE_PREFIX_PATH": "D:/Qt/Qt6/6.5.3/mingw_64", //C:/DevelopSoftware/Qt6/6.5.3/msvc2019_64
        "CMAKE_BUILD_TYPE": "Debug",
        "CMAKE_C_COMPILER": "D:/Qt/Qt6/Tools/mingw1120_64/bin/gcc.exe",
        "CMAKE_CXX_COMPILER": "D:/Qt/Qt6/Tools/mingw1120_64/bin/g++.exe"
      },
      "vendor": {
        "qt-project.org/Qt": {
          "checksum": "wVa86FgEkvdCTVp1/nxvrkaemJc="
        },
        "microsoft.com/VisualStudioSettings/CMake/1.0": {
          "intelliSenseMode": "linux-gcc-x64", // 指定IntelliSense模式
          "intelliSenseOptions": {
            "useCompilerDefaults": true, // 是否使用编译器默认定义并包含路径
            "additionalCompilerArgs": [ "-std=c++17" ] // 控制IntelliSense的其他选项
          }
        }
      }
    },
    {
      "hidden": true,
      "name": "Qt",
      "cacheVariables": {
        "CMAKE_PREFIX_PATH": "$env{QTDIR}"
      },
      "vendor": {
        "qt-project.org/Qt": {
          "checksum": "wVa86FgEkvdCTVp1/nxvrkaemJc="
        }
      }
    }
  ],
  "vendor": {
    "qt-project.org/Presets": {
      "checksum": "67SmY24ZeVbebyKD0fGfIzb/bGI="
    }
  }
}

http://www.kler.cn/a/569243.html

相关文章:

  • Composer如何通过GitHub Personal Access Token安装私有包:完整教程
  • el-input实现金额输入
  • SpringCloud + Spring AI Alibaba 整合阿里云百炼大模型
  • leetcode第40题组合总和Ⅱ
  • 安装Maven配置阿里云地址 详细教程
  • P8720 [蓝桥杯 2020 省 B2] 平面切分--set、pair
  • spring boot整合flyway实现数据的动态维护
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(9)
  • 【无标题】Ubuntu22.04编译视觉十四讲slambook2 ch4时fmt库的报错
  • Apollo canbus 学习笔记
  • 【Jenkins】个人向-Jenkinsfile如何写
  • git 中 commit 的修改
  • Ubuntu 防火墙iptables和 ufw
  • C# 13与.NET 9革新及工业开发应用
  • 经验分享:用一张表解决并发冲突!数据库事务锁的核心实现逻辑
  • 2024年第十五届蓝桥杯大赛软件赛省赛Python大学A组真题解析《更新中》
  • 大白话面试遇难题,应对策略是什么?
  • LeetCode:132. 分割回文串 II(DP Java)
  • OpenCV计算摄影学(7)HDR成像之多帧图像对齐的类cv::AlignMTB
  • 选开源CMS建站系统时,插件越多越好吗?