По роду работы у меня на компьютере стоят сразу несколько версий Visual Studio: 2003, 2005 и 2008. В целом они легко уживаются на одной машине, и при работе в графической оболочке обычно не возникает каких-либо неудобств или конфликтов. Но вот при работе через командную строку обычно надо как-то понимать, какой именно компилятор хочется вызвать (ведь имя то у него одно - cl.exe
, a версий три). В итоге я убрал из путей PATH все ссылки на каталоги разных версии студии, и сделал вот такие скрипты, помещенные в любой каталог, находящийся в списке путей PATH.
Visual Studio 2003, файл: cl2003.cmd
:
@"%VS71COMNTOOLS%\vsvars32.bat"
Visual Studio 2005, файл: cl2005.cmd
:
@"%VS80COMNTOOLS%\vsvars32.bat"
Visual Studio 2008, файл: cl2008.cmd
:
@"%VS90COMNTOOLS%\vsvars32.bat"
Если вы ставили студии по умолчанию стандартным образом, то в системе должны быть переменные окружения VS71COMNTOOLS
, VS80COMNTOOLS
и VS90COMNTOOLS
, задающие расположение конкретной версии. Скрипт же vsvars32.bat
поставляется вместе со студией и автоматически настраивает все необходимое для компилятора окружение.
Теперь компиляция в версии 2005 делается, например, вот таким cmd-файлом:
call cl2005.cmd
cl /Fetest.exe test.cpp
Очевидно, что для перехода на версию 2003 или 2008 надо заменить всего одну цифру. Очень удобно.