Я наткнулся на фрагмент кода, который использует комментарий #pragma (lib, «libraryname»).
Почему этот тип использования, а не просто ссылка на библиотеку из меню свойств? В каких ситуациях требуется это использование? Я в Windows, используя C ++ Visual Studio 2010.
Было бы неплохо увидеть пример, который призывает к этому типу использования.
Автор библиотеки может разместить #pragma comment(lib, ...)
команда в файле общего заголовка (.h). В этом случае клиенту не нужно добавлять эту библиотеку в список зависимостей компоновщика. Включив h-файл в программу, клиент автоматически связывается с необходимой библиотекой.
Классический пример — ссылки на разные версии библиотеки:
#if CURRENT_VERSION >= 10
#pragma comment(lib, "thirdPartyLibV2.0.lib")
#else //version < 10
#pragma comment(lib, "thirdPartyLibV1.0.lib")
#endif
Он содержится в том смысле, что все, что для этого нужно, — это включить заголовочный файл для автоматической загрузки связанной библиотеки. Вы даже можете сделать #ifdef..#endif
волшебство, чтобы условно принести нужную библиотеку в зависимости от вашей среды.
Не все будут использовать ваш проект MSVC при запуске нового проекта с нуля, просто имея возможность #include
и иметь это работа — признак хорошо написанной библиотеки.