Создание решения с несколькими проектами и несколькими конфигурациями - PullRequest
0 голосов
/ 23 июня 2010

Visual Studio 2010 Premium, собственный проект MFC WIN32 (нет проекта .net в решении).

У нас есть комплексное решение с 35 проектами.У нас много клиентов для этого продукта, и мы обычно создаем отдельную конфигурацию для каждого клиента.Конфигурация не имела каких-либо серьезных изменений, за исключением нескольких #define и изменений в выходном каталоге.Это работало нормально, но теперь при каждом изменении продукта требуется изменение нескольких конфигураций, а также он подвержен ошибкам.Мы хотим очистить несколько конфигураций с помощью одной общей конфигурации в зависимости от определенных параметров и передачи этих параметров через пакетный файл для построения сборок.

для построения для клиента условной компиляции 'A' #define _BUILD_PROJECT_FOR "A"его выходная папка находится в "c: \ builds \ client \ a" из 35 проектов в решении, нам нужно только 32 проекта для этого клиента

Какую команду и параметры передать, чтобы я мог построить решение по командепросто передавая #ifdef, какие проекты создавать и их выходной каталог.

Я пытаюсь с помощью msbuild, но не могу передать компилятору аргументы препроцессора.

Ответы [ 3 ]

0 голосов
/ 24 июня 2010

Дополнительная помощь может быть получена от:

http://www.sysnet.pe.kr/Default.aspx?mode=2&sub=0&pageno=0&detail=1&wid=871&title=%25vc%2B%2B%25

0 голосов
/ 24 мая 2013

Это работает для меня. Используя VS2010, у меня есть несколько проектов на ходу, и все они должны #include несколько файлов .h из общего проекта, где я вроде как держать их там как общие файлы .h. Если я использую что-то вроде #define ACTION в проекте, с которым я работаю, это не будет распознано ни в одном из общих файлов проекта при использовании #ifdef ACTION во время компиляции. Чтобы решить эту проблему, вместо добавления #define ACTION в рабочий проект, я добавляю его в параметр командной строки. Вы получите это в Project Properties, C / C ++ >> Командная строка, введите / D «ACTION» в поле «Дополнительная опция». Это то же самое, что сказать #define ACTION для компилятора.

Дополнительные примечания, мне также пришлось «Добавить» Добавить >> Существующие элементы, из общих файлов .h и .cpp, которые я хотел использовать из моего общего проекта в свой рабочий проект, чтобы удовлетворить моего жалобного компоновщика. Надеюсь, это поможет.

0 голосов
/ 23 июня 2010

Для директив препроцессора, вы можете проверить этот предыдущий вопрос .

...