基础知识
工具>选项>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