Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)

基于g++命令编译文件

纪录一下视频中容易忘记的知识点。
手把手教会VSCode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)

1、g++ 编译多个文件,生成带调试信息的可执行文件、并调试

g++ -g main.cpp swap.cpp -o my_multi_swap

生成可执行文件
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第1张图片
2、开始调试
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第2张图片
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第3张图片
出现了这个错误
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第4张图片
原因是 launch.json 中的 program 配置有问题
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第5张图片
需要改成如下形式
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第6张图片
回到main.cpp,按下F5,可以进行调试
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第7张图片
但是这里还是有一个问题,就是代码修改了之后,按下F5进行单步调试的时候,不会输出修改后的程序,而是还会输出修改之前的程序

原因是没有生成新的可执行文件,现在调试的仍然是修改之前的可执行程序

Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第8张图片
解决方案:

修改 tasks.json 和 launch.json

Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第9张图片

具体修改如下

Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第10张图片
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第11张图片

完成

基于cmake命令实现多文件编译

1、创建CMakeLists.txt文件
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第12张图片
2、编写CMakeLists.txt文件
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第13张图片
3、Ctrl + Shift + P
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第14张图片
4、选择GCC编辑器,使用本地安装的那个
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第15张图片

Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第16张图片

5、cd 创建好的build文件夹、mingw32-make.exe
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第17张图片
出现上述表示创建了可执行文件my_cmake_swap.exe
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第18张图片
将program中的绝对路径和build中的my_cmake_swap.exe进行关联后,按F5即可进行单步调试
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第19张图片
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第20张图片

但是如果对main.cpp进行修改后,还是显示不出修改过后的程序

原因是修改代码后,调试之前,launch.json中的preLaunchTask这一行没有执行,且没有生成新的可执行文件,现在调试的仍然是该代码之前的可执行文件

方案一:重新执行上述的mingw32-make.exe
方案二:还是按照上述修改tasks.json 和 launch.json
Vscode的C++环境搭建,多文件编译,Cmake,json调试配置( Windows篇)_第21张图片
完成

你可能感兴趣的:(vscode,c++,json)