#c #json #visual-studio-code #compiler-errors
#c #json #visual-studio-code #ошибки компилятора
Вопрос:
Я читал, что эта ошибка связана с некоторыми настройками в launch.json и tasks.файлы json. Поэтому я удалил их и создал новые, но это выдает ту же ошибку и не будет выполнять сборку и отладку. Как мне это исправить?
Launch.json:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g .exe - Build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C : g .exe build active file"
}
]
}
Tasks.json:
{
"tasks": [
{
"type": "shell",
"label": "C/C : g .exe build active file",
"command": "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\g .exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
],
"version": "2.0.0"
}
Ответ №1:
По умолчанию Vs. code может компилировать только один файл C за раз. Поэтому нам нужно указать компилятору скомпилировать все .cpp-файлы в этой папке проекта. Ваш файл «tasks.json» будет
{
"tasks": [
{
"type": "shell",
"label": "C/C : g .exe build active file",
"command": "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin\g .exe",
"args": [
"-g",
"-Wall", <====== to give all warning
"-std=c 17", <======== specific version of the complier
"${fileDirname}/*.cpp",<======= Compile all CPP files
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
],
"version": "2.0.0"
}
Ответ №2:
Если вы ранее скомпилировали свой код и исполняемый файл (* .exe) уже создан, удалите его через проводник VS code и попробуйте собрать свой код снова. Это была проблема, по крайней мере, в моем случае. VS code не удалось удалить исполняемый файл для создания нового.
Ответ №3:
В моем случае,
- Удалить
.vscode
папку, которая автоматически создается при 1-й отладке - Теперь снова отладка ( нажмите
F5
или вверху справаDebug C/C File
)
если какой-либо список поступает для компилятора, выберите 1st.
На 99% это сработает. в противном случае попробуйте использовать онлайн-компилятор C с опцией отладки, например
Ответ №4:
У меня была эта проблема однажды. Это происходит, если в имени «main ()» допущена ошибка. Например:
Если вы пишете int mai() вместо main(), это может привести к такой проблеме. Если вы предоставите свой код, мы сможем дополнительно оценить, в чем может быть возможная проблема.
Для получения дополнительной помощи:
Вы можете изменить свой файл launch.json на этот:
{
//Use IntelliSense to understand related attributes.
//Hover to see descriptions of existing properties.
//For more information, please visit: https://go.microsoft.com/fwlink/?linkid=830387
"version" : "0.2.0" ,
"configurations" : [
{
"name" : "g . exe-Generate and debug activity files" ,
"type" : "cppdbg" ,
"request" : "launch" ,
"program" : "${fileDirname}\${fileBasenameNoExtension}.exe" ,
"args" : [ ] ,
"stopAtEntry" : false ,
"environment" : [ ] ,
"externalConsole" : false ,
"MIMode" : "gdb" ,
"miDebuggerPath" : "F:\VScode\mingw64\bin\gdb.exe" ,
"setupCommands" : [
{
"description" : "Enable neat printing for gdb" ,
"text" : "-enable-pretty-printing" ,
"ignoreFailures" : true
}
] ,
"preLaunchTask" : "C/C : g .exe build active file"
}
]
}
Измените miDebugger на свой путь MinGW, и если проблема все еще остается, попробуйте изменить externalConsole на true
Комментарии:
1. отлично, но vscode жалуется, что путь cwd отсутствует
Ответ №5:
в моем случае это была проблема с расположением gcc.exe файл в командном расположении задач.json-файл просто измените это, и он должен работать нормально.
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C : gcc.exe build active file",
"command": "C:\Users\hrish\Documents\gcc\bin\gcc.exe",/* here the file location was different */
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}