Построение решения Visual Studio 2008 из командной строки - PullRequest
7 голосов
/ 21 ноября 2011

Я пытаюсь автоматизировать процесс сборки для определенного проекта с открытым исходным кодом. Он будет обновлять каталог SVN, использовать CMake для получения файла .sln и создавать его. Я могу успешно сделать это вручную, и сделать svn и cmake из пакетного скрипта, но теперь мне нужно построить решение.

Быстрый поиск в Google показал:

devenv /build release /project <projname> <solutionfile>.sln

Однако здесь используется последняя версия Visual Studio (Visual Studio Professional 2011), в то время как сгенерированный файл .sln предназначен для Visual C ++ Express 2008. У меня установлены обе версии на моем компьютере. Можно ли использовать devenv для Visual C ++ Express 2008? Или есть аргумент командной строки, чтобы указать, какую версию использовать?

UPDATE

Я пытался использовать msbuild, но, похоже, ему не нравилось создавать файлы .vcproj напрямую, и я не хотел создавать ВСЕ файлы проекта, создавая файл .sln. Я закончил тем, что использовал это:

"C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild.exe" <myproj>.vcproj "Release|Win32"

Ответы [ 2 ]

7 голосов
/ 21 ноября 2011

Я думаю, что вы используете не тот инструмент, чтобы построить это. Вместо того, чтобы пытаться управлять IDE из командной строки, вы должны просто использовать msbuild.

msbuild.exe projectname.proj /property:Configuration=Release

Чтобы настроить вашу среду для конкретной версии MSVC, вам нужно вызвать файл vcvar.bat из этой конкретной версии. Это установит необходимые переменные среды, необходимые для инструментов сборки.

2 голосов
/ 21 ноября 2011

Для Visual Studio Express 2008 IDE называется VCExpress.exe. Также вам, вероятно, следует указать полный путь к программе, когда у вас установлены две версии:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\VCExpress.exe /build release /project <projname> <solutionfile>.sln
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...