CMake Error: в этом проекте используются следующие переменные, но они имеют значение NOTFOUND, OPENSSL_INCLUDE_DIR используется как каталог включения - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь запустить cmake команду

cmake .. -DCMAKE_BUILD_TYPE=DEBUG -DBUILD_SHARED_LIBS=OFF         
-DBUILD_MODULES=OFF -DBUILD_APPLICATIONS=OFF          
-DBUILD_SAMPLES=OFF -DBUILD_TESTS=OFF          
-DWITH_WEBRTC=ON -DWITH_FFMPEG=ON          
-DBUILD_MODULE_base=ON -DBUILD_MODULE_crypto=ON          
-DBUILD_MODULE_http=ON -DBUILD_MODULE_json=ON          
-DBUILD_MODULE_av=ON -DBUILD_MODULE_net=ON          
-DBUILD_MODULE_socketio=ON -DBUILD_MODULE_symple=ON          - 
DBUILD_MODULE_util=ON -DBUILD_MODULE_uv=ON          
-DBUILD_MODULE_webrtc=ON -DWEBRTC_INCLUDE_DIRS=/tmp/webrtc-22215-ab42706-linux-x64/include/ 
-DWEBRTC_LIBRARIES=/tmp/webrtc-22215-ab42706-linux-x64/lib/ 
-DOPENSSL_INCLUDE_DIR=/usr/include/openssl

и завершился ошибкой

 CMake Error: The following variables are used in this project, but
 they are set to NOTFOUND. Please set them or make sure they are set
 and tested correctly in the CMake files:
 /home/ubuntu/temp/libsourcey/src/av/OPENSSL_INCLUDE_DIR    used as
 include directory in directory /home/ubuntu/temp/libsourcey/src/av
 /home/ubuntu/temp/libsourcey/src/base/OPENSSL_INCLUDE_DIR    used as
 include directory in directory /home/ubuntu/temp/libsourcey/src/base
 /home/ubuntu/temp/libsourcey/src/crypto/OPENSSL_INCLUDE_DIR    used as
 include directory in directory /home/ubuntu/temp/libsourcey/src/crypto
 /home/ubuntu/temp/libsourcey/src/http/OPENSSL_INCLUDE_DIR    used as
 include directory in directory /home/ubuntu/temp/libsourcey/src/http
 /home/ubuntu/temp/libsourcey/src/json/OPENSSL_INCLUDE_DIR    used as
 include directory in directory /home/ubuntu/temp/libsourcey/src/json
 /home/ubuntu/temp/libsourcey/src/net/OPENSSL_INCLUDE_DIR    used as
 include directory in directory /home/ubuntu/temp/libsourcey/src/net
 /home/ubuntu/temp/libsourcey/src/socketio/OPENSSL_INCLUDE_DIR    used
 as include directory in directory
 /home/ubuntu/temp/libsourcey/src/socketio
 /home/ubuntu/temp/libsourcey/src/symple/OPENSSL_INCLUDE_DIR    used as
 include directory in directory /home/ubuntu/temp/libsourcey/src/symple
 /home/ubuntu/temp/libsourcey/src/util/OPENSSL_INCLUDE_DIR    used as
 include directory in directory /home/ubuntu/temp/libsourcey/src/util
 /home/ubuntu/temp/libsourcey/src/webrtc/OPENSSL_INCLUDE_DIR    used as
 include directory in directory /home/ubuntu/temp/libsourcey/src/webrtc

У меня есть OpenSSL, включающий путь к каталогу вручную, затем также появляется та же ошибка

-DOPENSSL_INCLUDE_DIR=/usr/include/openssl 

Как устранить эту ошибку?

1 Ответ

0 голосов
/ 31 октября 2018

Ваш CMakeLists.txt определяет OPENSSL как необходимую внешнюю библиотеку. Но это не найдено.

find_library(OPENSSL ...)

Просмотрите пути, которые cmake ищет в библиотеке.

Просмотр путей find_library ищет библиотеку. Чтобы сделать это проще, вы можете распечатать переменные, используемые find_library.

Печать переменных с помощью message(STATUS ${VARIABLE_NAME})

...