visual stdio 使用CMake
基础知识
工具>选项>CMake>常规 选中从不使用CMake预设

重启 visual stdio,点击打开本地文件夹(F),打开CMakeList.txt根目录

此时会在CMake根目录自动生成CMakeSettings.json文件,使用visual stdio文件打开CMakeSettings.json

如果打开时,是json文件时,可以右键CMakeSettings.json,选择打开方式(N),再出现的选择框点击CMake 设置编辑器(默认值)

CMakeSettings.json文件规定了visual studio如何传递cmake参数
修改CMakeSettings.json和CMakeLists.txt 保存会自动执行CMake命令,查看输出窗口的CMake输出来源,可以查看具体执行的CMake命令

点击 生成(B)>全部生成 即可进行build

CMakeSettings.json字段分析
{
"configurations": [
{
"name": "x64-Debug",
"generator": "Ninja",
"configurationType": "Debug",
"inheritEnvironments": [ "clang_cl_x64" ],
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"intelliSenseMode": "windows-clang-x64"
},
{
"name": "x64-Clang-Release",
"generator": "Ninja",
"configurationType": "RelWithDebInfo",
"buildRoot": "${projectDir}\\out\\build\\${name}",
"installRoot": "${projectDir}\\out\\install\\${name}",
"cmakeCommandArgs": "",
"buildCommandArgs": "",
"ctestCommandArgs": "",
"inheritEnvironments": [ "clang_cl_x64_x64" ]
}
]
}
-
configurations
configurations字段是一个列表,可以增加不同的配置,比如Debug或Release,在visual studio中可以选择不同的配置进行生成

-
name

-
generator

-
configurationType

决定生成Debug还是Release -
inheritEnvironments

决定使用什么编译器 -
buildRoot

项目生成路径 -
installRoot

二进制文件的生成路径 -
cmakeCommandArgs

在CMake生成项目时,要传递的参数 -
buildCommandArgs

-
intelliSenseMode

告诉vs需要使用什么类型的智能提示,要选择正确编译器的,不然代码提示会错误,比如头文件找不到,虽然不影响编译
使用clang编译器
-
安装clang编译器
打开visual Studio Installer,选择修改组件>单个组件>搜索clang> 安装搜索结果即可

-
inheritEnvironments


浙公网安备 33010602011771号