Создание нескольких версий статической библиотеки из одного проекта Visual Studio - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть несколько проектов от A до F, каждый из которых зависит от статической библиотеки L. Каждый из них является проектом в моем решении Visual Studio.

К сожалению, для проекта F требуется немного другой вид статической библиотеки, которая будет построена(в настоящее время реализуется путем определения директивы препроцессора в параметрах сборки для выбора другого сегмента кода с использованием директив if / endif, поскольку код особого случая добавляет дополнительные зависимости, которые не нужны проектам AE).

I в настоящее времяРешите эту проблему, создав второй библиотечный проект "L_withflag", который включает в себя все те же исходные файлы, и который работает просто отлично.Мне интересно, есть ли более простой способ, который не требует поддержки двух отдельных проектов с одной и той же базой кода.

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

1 Ответ

0 голосов
/ 25 апреля 2019

Visual Studio позволяет иметь несколько конфигураций сборки для решения.По умолчанию для C ++ вы получаете конфигурации Debug и Release, но вы можете добавить дополнительные конфигурации, перейдя к

Build > Configuration Manager > Active Solution Configuration (pull down list) > New

. При выборе New вы можете скопировать настройки из существующей конфигурации (Debug, Release).Таким образом, вы можете создать конфигурации «Release - Опции A», «Release - Options B», а затем отредактировать настройки проекта для каждого из них, чтобы установить различные директивы препроцессора.

В настройках проекта вы также можете установить разные имена DLL и /или выходные папки.

...