1 cmake与g++编译器安装
1.1 软件安装
安装部分可以参考其它的文章,安装后在对应位置得到如下的文件:


1.2 环境变量配置
win+Q打开搜索栏,点击“编辑系统环境变量”,点击“环境变量”,点击系统变量中的“path”,将g++与cmake的程序路径添加进环境变量中,这一步的目的是使我们可以在系统的任何位置直接调用程序。



1.3 安装检查
win+R打开cmd,依次输入以下命令:“g++”,“cmake”,可以得到相应的输出:

有以上输出说明成功安装
2 vscode插件安装
打开vscode,安装以下插件:

3 基于cmake对多文件项目进行编译
3.1 新建项目
打开一个新项目,项目中含有主函数,库函数与头文件,分布在三个文件夹中:

3.2 编写CMakeLists.txt文件
在根目录即TEST目录中新建一个名为“CMakeLists.txt”的文件(一个字母都不能错),填入以下内容:
project(MYADD)
// MYADD为项目名称,可以自取
aux_source_directory(src SRC)
//函数包含两个参数,前者为路径,后者为自取的变量名,该函数将路径内的源文件(如.cpp)读取为列表,存入变量中
aux_source_directory(lib LIB)
//同上,lib为路径,LIB为变量名
add_executable(myadd ${LIB} ${SRC})
//函数包含三个参数,第一个myadd为输出可执行文件的名称,后面为前面读取的两个源文件的列表,该函数将所选的所有源文件编译为可执行文件
include_directories(include)
//函数有一个参数,为头文件的路径
3.3 在vscode中配置cmake
在vscode中按shift+ctrl+p,搜索CMake:Configure,选择GCC编译器


成功后会在输出栏看到信息,以及生成了含有一些文件的build文件夹。

3.4 编译文件
打开终端,进入build文件夹,运行编译工具mingw32-make.exe(可能是mingw64-make.exe,具体需要去安装g++位置的bin文件夹下找)。

编译成功。

4 基于cmake对多文件项目进行调试
4.1 生成launch.json以及tasks.json文件
选中项目的主文件(main.cpp),按shift+ctrl+p,搜索Add Debug Configuration,选择编译器,即可生成两个文件,在.vscode文件夹下。


4.2 修改launch.json以及tasks.json文件
将两个文件替换为如下内容
//tasks.json
{
"version": "2.0.0",
"options":{
"cwd": "${workspaceFolder}/build/"
//进入build目录
},
"tasks":[
{
"label": "cmake",
"type": "shell",
"command": "cmake",
"args": [
".."
]
},// "cmake"为任务1名称,进行第一步编译
{
"label": "make",
"group":{
"kind": "build",
"isDefault": true
},
"command": "mingw32-make.exe",
"args": [
]
},// "make"为任务2名称,进行第二步编译
{
"label": "build my project",
"dependsOn":[
"cmake",
"make"
]
}//"build my project"为总任务名称,统筹任务1任务2
]
}
//launch.json
{
"configurations": [
{
"name": "C/C++: g++.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/myadd.exe",
//工作目录的build文件夹,存放编译好的可执行文件
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:\\mingw\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "build my project"
//预先工作的标签为"build my project",同tasks.json文件,指先完成tasks.json中的工作,再完成本文件的工作。
}
],
"version": "2.0.0"
}
4.3 调试
选中main.cpp,按F5,即可正常开始调试。

2876



被折叠的 条评论
为什么被折叠?



