Cmake无法使用pkg_search_module找到“openssl”“libcrypto”

时间:2017-07-19 19:40:52

标签: c++ cmake openssl libcrypto

我正在构建一个项目,在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。

感谢您的建议。

1 个答案:

答案 0 :(得分:0)

使用dpkg -L <packagename>查看软件包的安装位置。

要安装libcrypto,请使用sudo apt-get install libssl-dev

我希望这会有所帮助。