Избегайте промежуточных каталогов в VC ++ - PullRequest
2 голосов
/ 26 января 2012

Я поддерживаю скрипт сборки, который вызывает devenv или Incredibuild из командной строки для создания динамически генерируемого решения Visual C ++ 2010, состоящего из нескольких сотен проектов.Мы ищем способы улучшить нашу сборку, и мне было интересно, если бы был способ сказать VS, чтобы избежать использования промежуточных каталогов.

Например, скажем, у меня есть проект Foo в решении Bar.Когда я строю Bar, вывод Foo заканчивается как в Bar/Foo/$(Configuration)/$(Platform), так и в Bar/$(Configuration)/$(Platform).

Я хотел бы знать, есть ли способ (из командной строки или путем редактирования файлов проекта) сделать сборку devenv непосредственно в выходном каталоге решения и только там.Кроме того, есть ли причины, по которым я не должен / не должен делать такие вещи?

Ответы [ 2 ]

5 голосов
/ 26 января 2012

Просто укажите путь к промежуточному каталогу в файлах .vcxproj, совпадающий с выходным каталогом решения.

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

3 голосов
/ 04 июня 2012

НЕ делай этого !!!!поскольку в MSBuild есть ошибка (я называю это поведение ошибкой), что при перестроении проекта все файлы ВСЕХ проектов, использующих один и тот же промежуточный каталог, будут удалены в выходной папке до того, как проект будет Build ...

...