Visual Studio 2010 — собрать два проекта VS2010 C ++ в одну папку вывода

У меня есть два проекта в одном решении VS 2010. Они повторно используют один и тот же код, и я хочу, чтобы VS2010 создавал исполняемые файлы обоих проектов в одной выходной папке.

Видимо это не тривиально, хотя http://msdn.microsoft.com/en-us/library/ms165411.aspx говорит, что это так.

Один процесс сборки удаляет предыдущую сборку (или даже не копирует первый исполняемый файл сборки в папку), поэтому у меня есть только один исполняемый файл из проекта, созданного последним.

Если создается отдельно, компилируйте и выводите соответствующие исполняемые файлы отдельно.
Один проект зависит от другого (чтобы разрешить конфликты доступа к повторно используемым файлам OBJ, так как один, вероятно, слишком долго держит дескриптор, пока другой пытается построить).

Тайна, я был бы признателен за помощь.

2

Решение

Вы можете перенаправить Visual Studio в любую нужную папку, перейдя на страницы свойств проекта, а затем изменив поле выходного каталога обеих папок на одно и то же местоположение (либо в абсолютном, либо в относительном месте). Два проекта не могут иметь одно и то же имя (на самом деле имя исполняемого файла должно отличаться от, возможно, некоторых других сгенерированных вспомогательных файлов), иначе создание одного проекта приведет к удалению другого.

Выше я ответил на ваш вопрос, но я считаю, что вы подходите к вещам не с той точки зрения. если у вас есть общий код, создайте проект библиотеки / папку. Поместите его куда-нибудь и добавьте исходный код в каждый проект, чтобы каждый проект мог его использовать, или вы можете сгенерировать сам файл lib с заголовком, содержащим прототипы функций в файле lib, а затем использовать файл заголовка и Файл lib в каждом проекте.
Используйте вкладку VC ++ Каталоги Visual Studio, чтобы указать папку lib и файл заголовка.

Обычно это правильный подход, который может избежать головной боли (если вы случайно изменили исходный код в одном проекте, и это повлияет на другой. С помощью файла lib вы вынуждены внести немного более вдумчивые изменения).

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

1

Другие решения

Других решений пока нет …