就是这种,如果按其他人没有解决,看我这!
罪魁祸首就是上面的选择调试配置,但是你会习惯性的点第一个,但是我相信就大多数人的launch.json和tasks.json用的g++.exe而不是cpp.exe,这就是报错出现的原因,解决方法就是选第三个或者第四个就行,不过我不清楚为什么每次打开工作区都要在选择一次调试配置,如果知道请在评论区中指出
如果选的是与自己tasks.json里配置不同的调试配置,则你的tasks.json会变成这样
{
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:\\myms2\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${workspaceFolder}\\${relativeFileDirname}\\*.cpp",
"-o",
"${workspaceFolder}\\${relativeFileDirname}\\${relativeFileDirname}.exe",
"-lgraphics64",
"-luuid",
"-lmsimg32",
"-lgdi32",
"-limm32",
"-lole32",
"-loleaut32",
"-lwinmm",
"-lgdiplus",
"-fexec-charset=GBK"
],
"options": {
"cwd": "D:\\myms2\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "调试器生成的任务。"
},
{
"type": "cppbuild",
"label": "C/C++: cpp.exe 生成活动文件",
"command": "D:\\myms2\\mingw64\\bin\\cpp.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
你会发现,怎么有两个label,这是因为你选择了与自己原始配置不同的调试配置,则这个配置会自动生成tasks.json文件,但是由于文件已经存在,则在这个文件添加配置,会引发错误
改正方法为,删除多余生成的部分,或者如有json备份,在粘贴一下就行了
我原始的tasks.json的配置如下
{
"tasks": [
{
"type": "shell",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:\\myms2\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${workspaceFolder}\\${relativeFileDirname}\\*.cpp",
"-o",
"${workspaceFolder}\\${relativeFileDirname}\\${relativeFileDirname}.exe",
"-lgraphics64",
"-luuid",
"-lmsimg32",
"-lgdi32",
"-limm32",
"-lole32",
"-loleaut32",
"-lwinmm",
"-lgdiplus",
"-fexec-charset=GBK"
],
"options": {
"cwd": "D:\\myms2\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "调试器生成的任务。"
},
],
"version": "2.0.0"
}
然后重新调试,在调试配置里选择与你tasks.json里选择的配置即g++.exe或者啥你自己配置一样的.exe即可