C ++ Visual Studio: ссылки с использованием прагматического комментария

Я наткнулся на фрагмент кода, который использует комментарий #pragma (lib, «libraryname»).

Почему этот тип использования, а не просто ссылка на библиотеку из меню свойств? В каких ситуациях требуется это использование? Я в Windows, используя C ++ Visual Studio 2010.

Было бы неплохо увидеть пример, который призывает к этому типу использования.

13

Решение

Автор библиотеки может разместить #pragma comment(lib, ...) команда в файле общего заголовка (.h). В этом случае клиенту не нужно добавлять эту библиотеку в список зависимостей компоновщика. Включив h-файл в программу, клиент автоматически связывается с необходимой библиотекой.

22

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

Классический пример — ссылки на разные версии библиотеки:

#if CURRENT_VERSION >= 10
#pragma comment(lib, "thirdPartyLibV2.0.lib")
#else //version < 10
#pragma comment(lib, "thirdPartyLibV1.0.lib")
#endif
17

Он содержится в том смысле, что все, что для этого нужно, — это включить заголовочный файл для автоматической загрузки связанной библиотеки. Вы даже можете сделать #ifdef..#endif волшебство, чтобы условно принести нужную библиотеку в зависимости от вашей среды.

Не все будут использовать ваш проект MSVC при запуске нового проекта с нуля, просто имея возможность #include и иметь это работа — признак хорошо написанной библиотеки.

4
По вопросам рекламы [email protected]