CMake-VSCode编译运行C++程序简单教程
前言
本教程旨在帮助不想使用vs,但是又想使用VScode的调试功能而不想手动编译的人,只能最低限度满足要求,很多地方还不完善,如不支持源代码在不同文件夹下编译,不包含CMake语法的教程,需要进阶操作请自行搜索CMake语法,
环境安装
安装和配置MinGw
MinGw中包含gcc,g++等多种编译器,可以在windows上使用(windows无法直接安装gcc),下载链接:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-win32/seh/x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z/download
解压时尽量解压在某个盘的根目录。
将MinGW下bin目录的路径添加到环境变量中
进入bin文件夹,找到mingw32-make.exe,复制一份,将其中一份重命名为make.exe(还是保存在bin文件夹中)
验证是否配置成功,cmd中输入
1
2gcc -v
make -v可以轻易判断是否安装成功
安装Cmake
下载链接:https://cmake.org/download/
选择一个后缀为.msi的安装包下载,尽量选最上面的,比较稳定,如图
安装时记得勾选“Add CMake to the system PATH for all users”,这样就不用自己再配置环境变量了
安装后在cmd输入
1 | cmake -version |
验证是否安装成功
VSCode 环境
需要的插件有
C/C++
CMake
CMake Tools
CMake编写
手动编译
选择一个文件夹做工作区,在该文件夹下新建文件
1 | CMakeLists.txt |
输入以下内容
1 | cmake_minimum_required(VERSION 3.0.0) //指定使用的CMake的最低版本 |
保存后可能vscode会直接开始自动build,创建build文件夹,同时也可以看到可执行文件也已经生成在build文件夹下,如果没有自动build,在终端中输入如下命令:
1 | mkdir build |
之后可以看到
启用调试
在主程序的页面,按f5,选择gdb,如图(我已经配置过了这里是网图)
点击后会生成launch.json
1 | "version": "0.2.0", |
之后配置task.json文件复制粘贴如下代码
1 | { |
之后就可以直接f5启用调试功能了
操作流程
先输入上述命令build(可以写个批处理文件执行),再按f5。
注意事项
CMakeLists.txt中指定的可执行文件名称与launch,json中所指定的必须相同
新建源代码后需要删除原来的build文件夹,重新build
待解决事项
- 可执行文件名称若为中文,理论上可以用set来将中文名称设置成变量传入执行表,还未具体操作
- 生成的可执行文件必须自己指定名称,而不能默认成主程序的名称
- 在一个工作区下临时创建一个新程序(可能用来调试),必须在CMakeLists.txt中重新指定需要编译链接的文件