Cmake找不到带有pkg_search_module的“openssl”“libcrypto”[重复]
Posted
技术标签:
【中文标题】Cmake找不到带有pkg_search_module的“openssl”“libcrypto”[重复]【英文标题】:Cmake can't find "openssl" "libcrypto" with pkg_search_module [duplicate] 【发布时间】:2017-12-25 06:17:03 【问题描述】:我正在构建一个项目,在 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。
感谢您的建议。
【问题讨论】:
查看使用此命令安装软件包的正确位置:dpkg -L <packagename>
(如果所有这些软件包都是使用 apt-get 安装的)。
"dpkg -L openssl" 返回几个位置,但是 "dpkg -L libcrypto" 返回 dpkg-query: package 'libcrypto' 没有安装。我应该将 dpkg 的哪些结果传递给 CMake 以满足 OPENSSL_INCLUDE_DIRS?如何安装 libcrypto? apt-get 找不到。
【参考方案1】:
使用dpkg -L <packagename>
查看您的软件包的安装位置。
要安装 libcrypto,请使用 sudo apt-get install libssl-dev
。
我希望这会有所帮助。
【讨论】:
以上是关于Cmake找不到带有pkg_search_module的“openssl”“libcrypto”[重复]的主要内容,如果未能解决你的问题,请参考以下文章