Ошибка: «Предварительная задача ‘C / C : g .exe создание активного файла ‘завершается кодом выхода 1»

#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:

В моем случае,

  1. Удалить .vscode папку, которая автоматически создается при 1-й отладке
  2. Теперь снова отладка ( нажмите F5 или вверху справа Debug C/C File )

если какой-либо список поступает для компилятора, выберите 1st.

На 99% это сработает. в противном случае попробуйте использовать онлайн-компилятор C с опцией отладки, например

https://www.onlinegdb.com/online_c _compiler

Ответ №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"
}