Cmake не может найти openssl libcrypto с pkg_search_module

Я создаю проект, и в CMakeLists.txt есть несколько операторов pkg_search_module, в том числе два для openssl и libcrypto, которые вызывают ошибки в процессе сборки.

pkg_search_module(LIBXML2 libxml-2.0 REQUIRED)
include_directories(${LIBXML2_INCLUDE_DIRS})

pkg_search_module(OPENSSL openssl REQUIRED)
include_directories(${OPENSSL_INCLUDE_DIRS})

pkg_search_module(CONFIG libconfig REQUIRED)
include_directories(${CONFIG_INCLUDE_DIRS})

pkg_search_module(CRYPTO libcrypto REQUIRED)
include_directories(${CRYPTO_INCLUDE_DIRS})

У меня эти пакеты установлены с помощью apt-get, и, насколько я понимаю, можно указать CMake расположение библиотеки, если он не может ее найти, но я не уверен, как их найти.

Я получаю этот вывод на терминале:

CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:578 (message):
   None of the required 'openssl' found
Call Stack (most recent call first):
  /home/openair3/openair-cn/build/CMakeLists.txt:814 (pkg_search_module)
  CMakeLists.txt:41 (include)


CMake Error at /usr/share/cmake-3.5/Modules/FindPkgConfig.cmake:578 (message):
  None of the required 'libcrypto' found
Call Stack (most recent call first):
  /home/openair3/openair-cn/build/CMakeLists.txt:820 (pkg_search_module)
  CMakeLists.txt:41 (include)

Я использую Ubuntu 16.04 на виртуальной машине.

Я ценю твой совет.


person Saeid Hashemi    schedule 19.07.2017    source источник
comment
Посмотрите правильные места установки пакетов с помощью этой команды: dpkg -L <packagename> (если все они были установлены с помощью apt-get).   -  person Dalton Cézane    schedule 19.07.2017
comment
dpkg -L openssl возвращает несколько местоположений, однако dpkg -L libcrypto возвращает dpkg-query: пакет libcrypto не установлен. Какой из результатов dpkg я должен передать CMake, чтобы удовлетворить OPENSSL_INCLUDE_DIRS? Как я могу установить libcrypto? Apt-get не найдет.   -  person Saeid Hashemi    schedule 19.07.2017


Ответы (1)


Используйте dpkg -L <packagename>, чтобы увидеть, где установлены ваши пакеты.

Чтобы установить libcrypto, используйте sudo apt-get install libssl-dev.

Надеюсь, это поможет.

person Dalton Cézane    schedule 19.07.2017