@TopToster

Как подключить динамическую библиотеку в проект через cmake?

Если я подключаю динамическую библиотеку(.so файл) через cmake, надо ли мне еще как в cmake указывать где лежат ее хедеры?
  • Вопрос задан
  • 466 просмотров
Решения вопроса 1
@NIR-Ginko
В зависимости от того, что за библиотека, это можно сделать несколькими способами. В простейшем случае можно указать:

add_library(example SHARED)
target_link_libraries(example PUBLIC resolv)


Если с библиотекой поставляются файлы для pkg-config, то это может выглядеть так:

find_package(PkgConfig REQUIRED)
pkg_check_modules(SASL REQUIRED IMPORTED_TARGET libsasl2)
add_library(example SHARED)
target_link_libraries(example PUBLIC PkgConfig::SASL)


Если же для библиотеки поставляются Find-файлы для CMake, то это будет выглядеть так:

find_package(Ldap REQUIRED)
add_library(example SHARED)
target_link_libraries(example PUBLIC Ldap::Ldap)


В общем случае заголовки библиотек лежат в стандартных путях и указывать отдельные пути к ним не требуется.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы