Visual Studio Code не может найти g ++. Exe (Windows 10) - PullRequest
2 голосов
/ 10 мая 2019

Я настраиваю vs-код на моем компьютере с Windows, следуя этому учебнику .

Я проверил правильный путь, вызвав g ++ из другой папки.

Но я продолжаю получать эту ошибку по отношению к коду:

Cannot find "C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw64\bin\g++.exe".

попытка запустить g++ helloworld.cpp с помощью командной строки из папки, в которой находится helloworld.cpp, не выдает ошибку или вывод.

Может кто-нибудь показать мне, где я что-то упустил?

РЕДАКТИРОВАТЬ:

Код на самом деле уже скомпилирован.Выдает a.exe и работает хорошо.Проблема в том, что мне нужно интегрировать его в код.Я думаю, что это похоже на это , но я не уверен.

c_cpp_properties.json

{
"configurations": [
    {
        "name": "Win32",
        "includePath": [
            "${workspaceFolder}/**"
        ],
        "defines": [
            "_DEBUG",
            "UNICODE",
            "_UNICODE"
        ],
        "compilerPath": "C:/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw64/bin/g++.exe",
        "cStandard": "c11",
        "cppStandard": "c++17",
        "intelliSenseMode": "clang-x64"
    }
],
"version": 4

}

tasks.json исправлено

{
// See https://go.microsoft.com/fwlink/?LinkId=733558 
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
    {
        "type": "shell",
        "label": "g++.exe build active file",
        "command": "g++",
        "args": [
            "-g",
            "-o",
            "helloworld",
            "helloworld.cpp"
        ],

        "group": {
            "kind": "build",
            "isDefault": true
        }
    }
]

}

tasks.json

    {
// See https://go.microsoft.com/fwlink/?LinkId=733558 
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
    {
        "type": "shell",
        "label": "g++.exe build active file",
        "command": "g++",
        "args": [
            "-g",
            "${file}",
            "-o",
            "${fileDirname}/${fileBasenameNoExtension}.exe",
            "helloworld",
            "helloworld.cpp"
        ],
        "options": {
            "cwd": "C:/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw64/bin/"
        },
        "problemMatcher": [
            "$gcc"
        ],
        "group": {
            "kind": "build",
            "isDefault": true
        }
    }
]

}

settings.json

{
"[cpp]": {},
"terminal.integrated.shell.windows": "C:\\cygwin64\\bin\\bash.exe"

}

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": "(gdb) Launch",
        "type": "cppdbg",
        "request": "launch",
        "program": "${workspaceFolder}/helloworld.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": true,
        "MIMode": "gdb",
        "miDebuggerPath": "C:/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw64/bin/g++.exe",
        "setupCommands": [
            {
                "description": "Enable pretty-printing for gdb",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ]
    }
]

}

Ответы [ 2 ]

0 голосов
/ 10 мая 2019

В tasks.json у вас есть

"tasks": [
    {
        ...
        "command": "g++",
        ...
        "options": {
            "cwd": "C:/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw64/bin/"
        },
        ...

Но вы должны использовать текущий рабочий каталог

"cwd": "${workspaceFolder}"
0 голосов
/ 10 мая 2019

Вы уверены, что путь правильный?Обычно, если он говорит, что не может найти файл, это потому, что файла там нет.

Когда я устанавливаю MinGW-W64, он идет в C: (...) \ mingw-w64 \ i686-8.1.0-posix-dwarf-rt_v6-rev0 \ mingw32.Поэтому я полагаю, что ваш путь неверен, как говорится в сообщении (если вы не изменили его вручную): он должен находиться не в mingw64 \ bin, а в mingw32 \ bin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...