ubuntu - CMake 错误:此项目中使用了以下变量,但它们设置为 NOTFOUND,OPENSSL_INCLUDE_DIR 用作包含目录
问题描述
我正在尝试运行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
如何解决此错误?
解决方案
您的 CMakeLists.txt 将 OPENSSL 定义为必需的外部库。但是没有找到。
find_library(OPENSSL ...)
查看 cmake 正在寻找库的路径。
查看find_library正在寻找库的路径。为了使这更容易,您可以打印出find_library
.
打印变量message(STATUS ${VARIABLE_NAME})
推荐阅读
- python - ImportError:无法从“时间”(未知位置)导入名称“时钟”
- python - 模型中的 Django 循环导入
- python - [ODBC SQL Server 驱动程序][DBNETLIB]SSL 安全错误 (18)
- c# - 如何有效地增长矩阵?
- mysql - MYSQL如何根据日期和响应的多个条件求和
- html - 如何使用规范标签?[将我的网站升级为多语言]
- python - 如何使用按钮单击来确定是否已单击/选中检查按钮以运行可执行文件?(与 tkinter)
- react-native - 将 AWS Amplify 数据存储用于社交媒体应用程序是一种好习惯吗?
- vba - 此代码在 .OpenRecordset 处生成错误 3061
- matlab - 欧拉法设置 h 值