长话短说
整体和我那篇Linux环境下的没什么区别,主要区别如下:
-
Windows下默认使用的是基于vs的nmake,而不是cmake,需要在launch和task两个json文件之外,在创建一个CMakePresets.json,在其中选定mingw作为编译器,并通过cmake …/ --preset=mingw正确生成编译文件
-
在linux下使用make编译工程,但是Windows下需要使用ninja 或 MSBuild,为了避免这一问题,需要使用cmake --build .命令编译,解决平台问题
CMakePresets.json
{
"version": 3,
"configurePresets": [
{
"name": "mingw",
"displayName": "MinGW Config",
"generator": "MinGW Makefiles",
"environment": {
"PATH": "D:/MinGW/ucrt64/bin"
}
}
]
}
task.json
将上次的这两部分改成下面这样,给cmake指令加一个参数,将make指令改成"cmake --build .",以兼容不同操作系统
{
"label": "CMake: Build",
"type": "shell",
"command": "cmake",
"args": ["../", "--preset=mingw"],
"options": {
"cwd": "${workspaceFolder}/build"
},
"dependsOn": ["create"]
},
{
"label": "make",
"type": "shell",
"command": "cmake",
"args": ["--build", "."],
"options": {
"cwd": "${workspaceFolder}/build"
},
"dependsOn": ["CMake: Build"] // make 依赖 CMake 生成 Makefile
},