vscode苏-c++环境搭建
vscode苏-c++环境搭建
0、首先搭建好gcc和cmake环境,也即要设置好他们的环境变量到自己主机之中
1、vscode相关插件安装
单文件编译运行
步骤:无需任何配置,只需要在终端gcc即可

主侧栏设置:
右键可以隐藏相关功能按钮

单文件调试
F5选好自己设定GCC/G++路径作为调试的编译器:随后就会生成task.json和launch.json,也可能只有task.json,而且生成一个新的可执行程序main.exe
F5键 或者 运行->F5 即可单文件调试
多文件编译第1种方式 gcc 方式

多文件编译第2种方式 cmake方式
环境准备MinGW套件,gcc,g++,环境变量,cmake环境,缺一不可,要逐个检查
步骤1:见下图

步骤2:ctrl + shift + P ,然后输入cmakeconfigure,选择cmake配置


生成makefile文件就说明成功了,否则不成功

从终端进入build文件夹
有可能执行(cmake ..)调用Visual Studio的编译套件,
为避免这种情况,可以首先执行下面指令:
cmake -G "MinGW Makefiles" ..
然后再执行(cmake ..)就行了

根据makefile里面的规则来构建项目
make构建构建命令为 mingw32-make.exe
(或mingw64-make.exe,根据自己环境决定) 如下图:

执行可执行程序

多文件调试 --超级重点
launch.json文件
点击查看代码
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}\\build\\sort.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "D:\\software\\mingw\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "Build my project"
}
]
}
tasks.json文件
点击查看代码
{
"version": "2.0.0",
"options": {
"cwd": "${workspaceFolder}/build/"
},
"tasks": [
{
"label": "cmake",
"type": "shell",
"command": "cmake",
"args": [
".."
]
},
{
"label": "make",
"group":{
"kind":"build",
"isDefault":true
},
"command": "mingw32-make.exe",
"args":[
]
},
{
"label":"Build my project",
"dependsOn":[
"cmake",
"make"
]
}
]
}
即将配置完毕:其实此时点击底部的三角形按钮是可以直接运行当前程序的,
若可执行文件的时间戳早于代码文件,此三角形是可以更新可执行文件的时间戳
也即可以更新可执行程序
完成以上两个文件的配置,示例文件格式以及相关配置如上两个文件

注意事项1:下面这两个文件对应的值必须一致

注意事项2:强烈建议前面的路径一致

终于配置完毕,ctrl+F5 或者 底部三角形,就可以重新生成,并执行一遍
然后就可以自行打断点,F5即可跑到断点处,自己再结合变量窗口即可查看代码的单步调试运行情况啦
bug解决:若与mutex,thread相关的代码无法运行,
注意切换mingw版本为mingw64-posix-seh
https://sourceforge.net/projects/mingw-w64/files/mingw-w64/

https://sourceforge.net/projects/mingw-w64/files/mingw-w64/
浙公网安备 33010602011771号