Скомпилировать конкретный объект в проекте Visual Studio из командной строки? - PullRequest
2 голосов
/ 24 февраля 2011

Я хочу скомпилировать file.obj из командной строки.В среде IDE, если я просматриваю file.cpp, я могу нажать Build -> Compile (или просто нажать Ctrl-F7), и он скомпилирует только объект file.obj.Я хотел бы быть в состоянии сделать это из командной строки.В идеале, что-то вроде:

vcbuild project.vcproj Debug file.obj       // not a valid command

Я посмотрел документацию для vcbuild, msbuild и devenv.Я также экспериментировал со всеми тремя, но не могу найти способ сделать это.Я могу найти способ построить целый проект, но это не то, что я хочу.Я хочу построить конкретный исходный файл./pass1 говорит vcbuild просто компилировать (не ссылаться), но он компилирует весь проект.

Я также рассмотрел использование cl, но это всего лишь компилятор.Чтобы использовать его, я должен был знать все правильные параметры для передачи, чтобы правильно настроить свою среду.Все, что автоматически решается с помощью msbuild / vcbuild.

С Makefiles я всегда могу сделать make file.obj, и он будет правильно устанавливать путь, включать каталоги и т. Д.

Любые параметры дляэтот?Существует ли автоматический способ извлечения соответствующих настроек из файла .vcproj и передачи их в cl?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2011

если вы просто хотите скомпилировать проект, запустите командную строку visual studio и вызовите msbuild .

Пример:

MSBuild.exe MyProj.proj /property:Configuration=Debug

это скомпилирует проект MyProj из текущего каталога.

больше информации о msbuild http://msdn.microsoft.com/en-us/library/dd393574.aspx

Или, если вам нужно создать один файл, вы можете использовать cl как указано выше.Вы можете увидеть все параметры, переданные Visual Studio CL , если вы перейдете в свойствах проекта.Обычно в:

Свойства конфигурации -> C / C ++ -> Командная строка

и для связи:

Свойства конфигурации -> Линкер-> Командная строка

0 голосов
/ 24 февраля 2011

Использование cl - это способ компилировать отдельные файлы из командной строки. Как вы говорите, он требует / позволяет указать именно те параметры, которые вы хотите использовать. Все варианты!

Если вы на самом деле не хотите этого делать, почему бы не использовать IDE, чтобы сделать это автоматически для вас? Зачем делать это сложнее всего, если тебе это не нравится?

...