Как мне написать пакетный скрипт сборки, который запускает vcvars32.bat, а затем продолжает сборку?

Я хочу написать простой пакетный скрипт, который загружает среду сборки Visual Studio, используя vcvars32.bat а затем продолжить сборку, используя vcbuild, Тем не менее, мой сценарий не будет выполняться после вызова vcvars32.bat, Последний вывод, который я получаю:

Setting environment for using Microsoft Visual Studio 2008 x86 tools.

Как вы можете видеть, я использую Visual Studio 2008. Вот мой самый простой пакетный скрипт:

@echo off
"C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
vcbuild

3 ответа

Решение

Вы должны использовать call в вашем пакетном скрипте, или прекращение vcvars32.bat прервет ваш собственный пакетный скрипт. Поэтому ваш скрипт должен быть:

@echo off
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
vcbuild

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

IF '%VSINSTALLDIR%' NOT EQU '' THEN EXIT 0

Точный путь к программным файлам зависит от того, установлена ​​ли у вас 32- или 64-разрядная ОС и где вы установили Visual Studio. Используйте переменную среды VS100COMNTOOLS, которую Visual Studio устанавливает во время установки, для общего решения этой проблемы.

call "%VS100COMNTOOLS%\..\..\VC\bin\vcvars32.bat"
...

Обратите внимание, что каждая версия Visual Studio имеет определенную переменную среды, основанную на ее номере версии.

Visual Studio 2005    VS80COMNTOOLS
Visual Studio 2008    VS90COMNTOOLS
Visual Studio 2010    VS100COMNTOOLS
Visual Studio 2012    VS110COMNTOOLS
Visual Studio 2013    VS120COMNTOOLS

Вы поняли идею.

Другие вопросы по тегам