使用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="
}
}
}