Почему не запускается мой C++ код в Visual Studio Code и как это исправить?

В Output появляется такое сообщение. Я перепробовал всё, включая переустановку, но это не помогло. <br/> Какие варианты решения этой проблемы существуют? <br/> <br/>
  • 25 марта 2026 г. 13:00
Ответы на вопрос 4
Надо больше конкретики — какой именно текст в Output вы видите, какая ОС (Windows / WSL / Linux / macOS), какой компилятор (MinGW / MSVC / clang / g++ из MSYS2), как вы запускаете (Run Code / F5 / терминал), есть ли у вас launch.json / tasks.json и какие там строки. Пока этого нет — ниже общий чек‑лист и самые частые причины + готовые решения и рабочие примеры конфигураций. Пройдитесь по ним — очень большая вероятность, что одна из рекомендаций решит проблему. Если не поможет, вставьте точный вывод из Output и ваш launch.json / tasks.json — разберёмся детально.

1) Быстрая проверка среды (выполните в терминале)
- Проверить наличие компилятора:
  - Windows: where g++  или where clang  или where cl
  - Linux/macOS: which g++  or which clang
- Версии:
  - g++ --version
  - gdb --version (если используете gdb)
- Попробуйте вручную скомпилировать и запустить простой файл:
  - g++ hello.cpp -o hello.exe (Windows) или g++ hello.cpp -o hello (Linux/macOS)
  - ./hello или .\hello.exe
Если это не работает — проблема в установке компилятора / PATH.

2) Типичные сообщения и их причины (и как исправить)
- "g++ is not recognized" / "command not found": компилятор не в PATH. Решение: добавить папку bin от MinGW/MSYS2/MinGW-w64 в PATH или установить компилятор (MSYS2, MinGW-w64 или Visual Studio Build Tools).
- "The program cannot be started/Файл не найден" (при запуске из VS Code): launch.json указал неправильный путь в поле "program". Проверьте, что путь совпадает с местом, где генерируется .exe (обычно ${fileDirname}\\${fileBasenameNoExtension}.exe).
- "Cannot start debugging. GDB failed to start" / "The debugger process has terminated unexpectedly": gdb не установлен или несовместимая версия (32/64‑бит несоответствие между g++ и gdb). Установите gdb той же архитектуры, что компилятор, и укажите miDebuggerPath в launch.json.
- "Access denied" или antivirus блокирует .exe: попробуйте временно отключить защиту или добавить исключение, проверьте права файла.
- "Permission denied" на Linux/macOS: сделайте chmod +x ./a.out.
- "cl.exe not found" (если вы ожидаете MSVC): нужно установить Visual Studio / Build Tools и использовать Developer Command Prompt либо настроить environment (vcvarsall.bat) перед сборкой.
- Код компилируется, но консоль быстро закрывается: это не ошибка — программа завершилась. Запустите из интегрированного терминала или добавьте std::cin.get(); чтобы увидеть вывод, либо в launch.json установите "externalConsole": true или используйте отладчик (F5), чтобы увидеть вывод.

3) Проверка конфигураций VS Code
- Убедитесь, что установлены расширения:
  - C/C++ (Microsoft) — для подсветки и отладки
  - (опционально) Code Runner — если вы им пользуетесь для быстрого запуска
- Пример tasks.json (сборка g++):
  {
    "version": "2.0.0",
    "tasks": [
      {
        "label": "build",
        "type": "shell",
        "command": "g++",
        "args": [
          "-g",
          "${file}",
          "-o",
          "${fileDirname}/${fileBasenameNoExtension}.exe"
        ],
        "group": { "kind": "build", "isDefault": true }
      }
    ]
  }
- Пример launch.json для gdb (Windows, MinGW):
  {
    "version": "0.2.0",
    "configurations": [
      {
        "name": "C++ Debug",
        "type": "cppdbg",
        "request": "launch",
        "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${fileDirname}",
        "environment": [],
        "externalConsole": true,
        "MIMode": "gdb",
        "miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe" // или путь к вашему gdb
      }
    ]
  }
- Пример launch.json для MSVC (Windows):
  {
    "name": "C++ (Windows)",
    "type": "cppvsdbg",
    "request": "launch",
    "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
    "cwd": "${fileDirname}",
    "stopAtEntry": false,
    "args": []
  }
Убедитесь, что "program" действительно существует (после сборки).

4) Если сборка проходит в терминале, но не в VS Code
- Сравните команду сборки, которая выполняется в терминале, и ту, что указана в tasks.json. Может отличаться рабочая директория или имя выходного файла.
- Убедитесь, что preLaunchTask в launch.json ссылается на правильную задачу сборки.

5) Если отладчик падает или не запускается
- Укажите miDebuggerPath к реальному gdb.exe (Windows).
- Проверьте архитектуру (x86 vs x64) — mingw-w64/gdb должны совпадать.
- На macOS: используйте lldb (MIMode: lldb), установите разрешения для lldb (security settings — разрешить lldb в System Preferences / Security & Privacy).
- Убедитесь, что версия расширения C/C++ актуальна.

6) Полезные дополнительные команды и советы
- Проверить PATH (Windows): echo %PATH%  или в PowerShell: $env:Path
- Проверить где g++: where g++
- Если используете MSYS2 — предпочтительнее установить g++ через pacman и использовать путь C:\msys64\mingw64\bin
- Если используете WSL — запускайте и отлаживайте внутри WSL или используйте Remote - WSL extension
- Посмотрите Output -> "C/C++" и Debug Console — там часто есть точная причина

7) Частые грабли и быстрые исправления
- Установить MSYS2 + mingw-w64 и положить mingw-w64/bin в PATH (заменяет старые MinGW).
- Для MSVC — установить Visual Studio Build Tools и использовать type "cppvsdbg".
- Если VS Code не видит g++ после установки — перезапустите VS Code (чтобы обновился PATH).
- Если проблема связана с Code Runner — попробуйте запустить через tasks/launch или через терминал напрямую.

Если хотите — пришлите:
- полную ошибку/сообщение из Output,
- ваш ОС,
- вывод where/which g++ и gdb --version,
- содержимое .vscode/launch.json и tasks.json,
- как вы запускаете код (кнопка Run, F5, Code Runner, терминал).
Тогда дам точное решение под вашу ситуацию.
Похоже VS Code просто не видит компилятор. Exit code 1 за 0.1 сек, даже до компиляции толком не дошло. Проверь в cmd: <code>g++ --version</code> . Если не находит — ставь MinGW-w64, пропиши путь к bin в PATH, перезапусти VS Code.
1. Сохранить файл <br/> 2. Выполнять команды по очереди <br/> 3. Вывести нормально ошибку команды, а не то что она просто завершилась.
Откройте обычный терминал (cmd) в той же папке, где лежит файл и выполните: <br/> <code class="bash">g++ --version</code> <br/> Если версию покажет, то пробуем <br/> <code class="bash">g++ negr.cpp -o test_app</code> и смотрим вывод
Похожие вопросы