Предположим, что вы разрабатываете какую-то очень полезную библиотеку. Или не очень полезную. Или уже разработали, давно выложили на github, и развиваете её дальше. Насколько удобно и легко будет включить вашу библиотеку в проект "постороннему" человеку? Назовём его, для определённости, Посторонним В.
Типичный набор действий В. по включению библиотеки в проект:
Типичный набор действий В. по включению библиотеки в проект:
- Прописывает в свойствах проекта путь к заголовочным файлам.
- Прописывает в свойствах линковщика путь к библиотекам.
- Указывает названия необходимых библиотек.
Всё? Чаще всего, нет. Посторонним В. меняет конфигурацию проекта с Debug на Release (или наоборот), и вписывает всё то же самое. Почти, да не совсем - очень часто путь к Debug и Release версии файлов библиотеки отличается, поскольку по умолчанию названия библиотечных файлов для Debug и Release одинаковые. На случай, если наш В. использует дополнительные конфигурации - кроме стандартных Debug и Release, данное действие повторяется для всех конфигураций.
Если предоставляемая библиотека содержит целый набор LIB файлов, требуется как-то выбрать нужные (что не всегда очевидно для Посторонним). Или просто указать все библиотеки (в каждой конфигурации проекта) - мало ли, какая из них содержит требуемую функцию.
А теперь прекращаем издеваться над В. и остальными, и делаем всё по-человечески.