Как мне скомпилировать один исходный файл в проекте MSVC из командной строки? - PullRequest
2 голосов
/ 15 февраля 2012

Я собираюсь начать тестирование / тестирование наших сборок, и я хотел бы вывести все это из командной строки.Я знаю о DevEnv, но не уверен, что он может делать то, что я хочу.

Если бы я мог создать один файл в одном проекте, я был бы счастлив.

Можетэто будет сделано?

1 Ответ

1 голос
/ 16 февраля 2012

Магическое заклинание заключается в следующем. Обратите внимание, что это было протестировано только с VS 2010 - я слышал, что это первая версия Visual Studio с такой возможностью:

Заклинание

<msbuild> <project> <settings> <file>

Где

  • msbuild - это путь к MSBuild.exe. Обычно это должно быть настроено для вас файлом VS2010 bat, чтобы правильный оказался в вашем PATH, но если нет, я нашел его в C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
  • project - это путь к файлу vcxproj, в котором находится исходный файл.
  • settings включают следующее:
    • /p:Configuration="Debug" // или какова ваша Конфигурация
    • /p:Platform=x64 // или x86
    • /t:ClCompile // чтобы указать, что именно вы хотите скомпилировать файл
  • file фактически другая настройка:
    • /p:SelectedFiles="path_to_file"

Примечания

  • Для <project> У меня было , чтобы указать файл проекта (vcxproj) вместо файла решения (sln). У sln, который я бы использовал, было несколько проектов, так что в любом случае потребовалась бы дополнительная работа для того, чтобы пойти по этому пути (если это вообще возможно).
  • Для параметра /p:Platform=x64 есть несколько переменных среды, которые вращаются на той платформе, на которую вы ориентируетесь (x64 v. X86), поэтому убедитесь, что вы настроили их правильно с помощью vcvarsall.bat.
  • Что касается path_to_file в параметре SelectedFiles, этот путь должен быть путем , как указано в файле проекта . Если путь не совпадает с путем, используемым в файле проекта для ссылки на источник, он не работает.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...