Как добавить компилятор Visual Studio C++ в powershell\cmd?

Есть установленная Студия 2015.
Добавил в PATH C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe
Создал тестовую программу(Hello World). При запуске cl test.cppматерится:
test.cpp(1): fatal error C1034: iostream: не указан путь поиска включаемых файлов

Гугл посоветовал запустить скрипт C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\vsvars32. Запустил. Нифига, ошибка осталась.
Вопрос: как все-таки запустить этот чертов компилятор из дефолтной командной строки?
  • Вопрос задан
  • 6684 просмотра
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега C++
software engineer
В PATH нужно добавлять каталог (C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin), а не cl.exe

Но ошибка говорит, что у вас не указан путь поиска ВКЛЮЧАЕМЫХ файлов.
То есть сам cl.exe находит. Вам нужно добавить опцию /I или -I с указанием, где include файлы лежат

cl.exe -Ic:\src test.cpp
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@res2001
Developer, ex-admin
Со студией поставляется комплект командных сценариев, настраивающих окружение командной строки для работы компилятора. Достаточно командную строку запускать через эти сценарии. Ярлыки на эти сценарии находятся в меню Пуск в папке студии.
Например у меня для VS2017 есть такие:
x64 Native Tools Command Prompt for VS 2017
x86 Native Tools Command Prompt for VS 2017
Соответственно для 64битной и 32битной сборки приложений. В 2015 студии есть аналогичные, только название немного изменено.
Запускайте ком.строку через этот сценарий и все будет собираться.
Ответ написан
@Redee
Компиляция из cmd через cl.exe - задание необходимого окружения.
Чтобы задать в глобальное окружение системные переменные - добавьте к Path и создайте Include, LIB.
И поменяйте на ваши версии MSVC, Windows SDK и разрядность x86 или x64.

Чтобы проверить переменные - можно просто запустить со стартового меню - x64 Native Tools Command Prompt for VS 2019 и набрать "set path" или "set lib", или "set include".


Path
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\HostX64\x64


Include
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\ATLMFC\include
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\include
  • C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\ucrt
  • C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\shared
  • C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\um
  • C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\winrt
  • C:\Program Files (x86)\Windows Kits\10\include\10.0.18362.0\cppwinrt


LIB
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\ATLMFC\lib\x64
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\lib\x64
  • C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x64
  • C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64


60084d043d7b6629048124.png
60084d0b6866d772151105.png
60084d10b1868232917890.png

Также можно установить переменную окружения CL /MD чтобы создавать код с Динамической линковкой библиотек среды выполнения для меньшего размера исполняемого файла - по умолчанию /MT release с статической линковкой.
Еще можно переопределить опцию из cmd с сообщением предупреждения о смене опции.
https://docs.microsoft.com/en-us/previous-versions...
https://docs.microsoft.com/en-us/previous-versions...

600878d7374bc198614365.png
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы