发布时间:2023-07-16 16:30
由于换新电脑,配置过程中摸索的问题,做一个记录。
MinGW64就是加强版的MinGW ,里面包括了gcc,g++,和gdb(调试器)
MinGW64
在这里我们拉到下面的
seh的就是更高级一点,更适合windows。
下完之后配置完环境变量。把你自己的bin目录写上去,写道系统变量里,这样所有用户都可以调用。
VScode本身是一个文本编辑器,不是IDE,主要是有很多插件,并且它可以调用你的系统环境来帮你运行程序,简单就是vscode点击运行-> 调用你的c++环境的编译器,然后显示。
第一步下载c++插件
插件的左右就是高亮你的字体,然后写的语法错误提示巴拉巴拉的。商店搜c++就行了,点击第一个。
第二步配置文件
这一步很重要,就是告诉你的Vscode,去哪里找你的c++环境,哪里找你的编译器g++,gcc,哪里找你的gdb调试器
好你首先自己写一个cpp文件,确保你的vscode能检测出你要编译c++。
然后点击 终端–> 配置任务
选择第二个
他会自动帮你生成一个task.json文件
该文件对应的就是你的gcc编译生成一个.exe文件的过程,不是F5(F5是调试你的.exe文件)
自动生成的文件你需要改一点东西,就是我加注释的地方,label就是名称,你随便改,最好英文。剩下的就是告诉你的vscode去哪里找你的c++编译器。
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++ Compile", //这个label很重要,要在lanuch 里面启动
"command": "D:\\SmallStaff\\MinGW\\mingw64\\bin\\g++.exe", //这个是编译器路径
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "编译器: D:\\SmallStaff\\MinGW\\mingw64\\bin\\g++.exe" //这个也是编译器路径
}
]
}
这时候 **你点 终端->运行任务 选择第一个,其实就是vscode帮你去运行gcc生成exe文件了,注意这里不要F5,因为F5是调试。**接下来我们来讲F5调试所用的launch.json文件。
这个文件就是你摁F5 启动gdb来调试你的.exe文件的过程。你得告诉VSCOde哪里去找你的gdb调试器。
这两个操作,会帮你生成一个空的lanuch.json文件,你需要再重复一次上述操作,会弹出来
然后你需要改一点部分
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe", //选择需要debug的exe程序
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": true,//启用外部的cmd来显示你的程序调试结果
"MIMode": "gdb",
"miDebuggerPath": "D:\\SmallStaff\\MinGW\\mingw64\\bin\\gdb.exe", //用gdb来debug
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++ Compile" //这里的就是执行debug之前需要先执行编译的任务,这里的值就是你的task.json的label值
//告诉程序去找哪一个task.json的意思。
}
]
}
然后就完事了~ ,接下来你摁住F5就可以自动启动了~。