C++ Компилировать исходный файл из Visual Studio

Мне нужно скомпилировать внешний исходный файл из Visual Studio. Я выбрал это из командной строки разработчика:

cl /EHsc test.cpp

Итак, я попробовал это:

system("cl /EHsc test.cpp");

Но команда 'cl' не существует в обычном cmd, который вызывается системой().

Любые предложения, как использовать функцию компилятора в любом случае?


person Hexdec    schedule 22.02.2016    source источник
comment
cl.exe является частью Visual Studio. Вы проверили свою переменную PATH?   -  person Simon Kraemer    schedule 22.02.2016
comment
Зачем вам это нужно делать из программы на С++?   -  person πάντα ῥεῖ    schedule 22.02.2016
comment
@πάνταῥεῖ Скайнет? ;-)   -  person Simon Kraemer    schedule 22.02.2016
comment
Итак, если я вас правильно понял, вы хотите скомпилировать кусок cpp из работающего куска кода в Visual Studio? Если это так, то cl сделает это за вас, но он должен находиться в системном пути и, возможно, также потребуется установить некоторые переменные среды. Используйте командную строку администратора Visual Studio, а затем введите «set», чтобы увидеть, какая среда настроена.   -  person The Welder    schedule 22.02.2016
comment
@TheWelder Да, я это вижу. Но я не знаю, что мне делать дальше. Любая идея?   -  person Hexdec    schedule 22.02.2016
comment
См. этот ответ   -  person Andreas DM    schedule 22.02.2016
comment
@AndreasDM да, вы правы, но я заметил, что функции из cl.exe будут потеряны после запуска скомпилированного исполняемого файла вместо отладчика Visual Studio. Это означает, что я думаю, что даже если бы я изменил переменные, я бы не получил там результат.   -  person Hexdec    schedule 22.02.2016


Ответы (1)


Теперь я сделал это сам, а для тех, кому любопытно, сделал копию vcvars32.bat и добавил несколько таких команд:

cd %~dp0%

cl /LD source.cpp /EHsc ;remember putting this part after the bat-file called all important commands

Теперь мне просто нужно выполнить этот файл из C++, и поехали.

person Hexdec    schedule 23.02.2016