2017-07-19 158 views
0

我正在構建一個項目,並且在CMakeLists.txt中有幾個pkg_search_module語句,其中包括兩個用於在構建過程中拋出錯誤的openssl和libcrypto。Cmake使用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和方式我知道這是可能給C進行庫的位置,如果它不能找到它,但我不知道如何找到它們。

我得到終端上的輸出:

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虛擬機上。

我很感謝您的建議。

+0

查看軟件包安裝的正確位置:'dpkg -L '(如果所有軟件都安裝在apt-get中)。 – Dalton

+0

「dpkg -L openssl」返回一些位置,但是「dpkg -L libcrypto」返回dpkg-query:未安裝軟件包'libcrypto'。 dpkg的哪個結果應該傳遞給CMake以滿足OPENSSL_INCLUDE_DIRS? 我該如何安裝libcrypto? Apt-get不會找到它。 –

回答

0

使用dpkg -L <packagename>查看您的軟件包的安裝位置。

要安裝libcrypto,請使用sudo apt-get install libssl-dev

我希望這會有所幫助。