cl.exe: термин «cl.exe» не распознается как имя командлета, функции, файла сценария или работоспособной программы.Проверьте правильность написания имени или, если путь был указан, проверьте правильность пути и повторите попытку.
Ваша задача "msvc build"
задает только "cl.exe"
для своей команды, без начальногодорожка.Проблема в том, что cl.exe
отсутствует в вашей переменной PATH или в любом месте, которое VS Code может увидеть, когда он запускает задачу сборки.
Одним из решений этого является открытие VS Code с помощью команды разработчикаПодскажите "для какой версии Visual Studio у вас есть.Эта версия командной строки определяет расположение инструментов сборки Visual Studio, так что любая программа или команда, запускаемая из этого приглашения cmd, сможет найти программы, такие как «cl.exe».
Существуетдругое решение, которое я предпочитаю использовать, - написать пакетный сценарий для задачи сборки.
:: set the path to your visual studio vcvars script, it is different for every version of Visual Studio.
set VS2017TOOLS="C:\Program Files(x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
:: make sure we found them
if not exist %VS2017TOOLS% (
echo VS 2017 Build Tools are missing!
exit
)
:: call that script, which essentially sets up the VS Developer Command Prompt
call %VS2017TOOLS%
:: run the compiler with your arguments
cl.exe /EHsc /Zi /Fe: helloworld.exe test.c
exit
Затем необходимо изменить задачу, чтобы запустить пакетный сценарий:
{
"label": "msvc build",
"type": "shell",
"command": "build.bat",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal":"always"
},
"problemMatcher": "$msCompile"
}
Преимущество использования пакетного сценария таким образом заключается в том, что вам не нужно запускать код VS из командной строки разработчика, а средство сопоставления проблем $msCompile
по-прежнему сможет отображать ошибки и предупреждения внутри кода VS.