Я пытаюсь скомпилировать простую программу на C ++ в VS Code - это буквально просто std::cout
оператор; Я могу опубликовать его, но не могу представить, что проблема - я следовал инструкциям здесь . Расширение C ++ установлено, и у меня есть инструменты сборки / разработчика для VS17 и 19 - я открыл соответствующие командные строки, и они существуют. Я даже скомпилировал свою простую программу из командной строки разработчика, и все работало нормально.
Однако всякий раз, когда я пытаюсь построить в VS Code после настройки задачи сборки по умолчанию с использованием Ctrl+Shift+B
, я получаю ошибку 'C:\Program' is not recognized as an internal or external command, operable program or batch file.
на выходе:
I thought it might be because the cl.exe
path needed to be the full path so I changed that in both the tasks.json
file and the c_cpp_properties.json
file to no avail. Whenever I just open a separate cmd
window and manually run the compile commands it works fine too.
The thing I'm scratching my head about is why this window looks different than the window that appears whenever I open a new cmd
window in VS Code which looks like this:
введите описание изображения здесь
Я не знаю, имеет ли это значение, но опять же, когда я вручную компилирую из этого окна, он работает.
Похоже, у меня не должно быть столько трудностей. Я вообще ничего не менял из инструкций, но эта простая вещь не работает. Единственное, что я мог придумать, возможно, это как-то связано с тем фактом, что у меня установлены инструменты разработчика для 2017 и 2019 годов, но для меня я не могу понять, какое это имеет значение.
Если это поможет , это мой tasks.json
файл (опять же, я ничего не менял из того, что было автоматически сгенерировано):
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "C/C++: cl.exe build active file",
"command": "cl.exe",
"args": [
"/Zi",
"/EHsc",
"/Fe:",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"${file}"
],
"options": {
"cwd": "${workspaceFolder}"
},
"problemMatcher": [
"$msCompile"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}