Как мне написать пакетный скрипт сборки, который запускает vcvars32.bat, а затем продолжает сборку? - PullRequest
17 голосов
/ 18 апреля 2009

Я хочу написать простой пакетный скрипт, который загружает среду сборки 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 ]

29 голосов
/ 18 апреля 2009

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

@echo off
call "C:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat"
vcbuild
4 голосов
/ 18 апреля 2009

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

IF '%VSINSTALLDIR%' NOT EQU '' THEN EXIT 0
1 голос
/ 27 февраля 2015

Точный путь к программным файлам зависит от того, установлена ​​ли у вас 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

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

...