想要交叉编译一个使用Azure IoT SDK的C应用程序,不幸的是需要Cmake。 Cmake 拒绝构建我的工具链,因为它声称找不到我为目标架构编译的 Openssl。
我尝试将
OPENSSL_ROOT_DIR
添加到它所在的文件夹中。
SET(OPENSSL_ROOT_DIR /path/to/openssl)
我不断收到错误:
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES) (found
version "1.0.2g")
我还尝试按照错误提示将系统变量设置为这些文件夹,但它似乎忽略它们并提示相同的错误。我尝试将它添加到与我的 C 编译器相同的文件夹中也无济于事。
我已经没有什么可以尝试的了,这一点我不明白为什么它不起作用。有什么建议么?
对于 MacO,我在安装 ton'slite 客户端(cmake ~/lite-client)时遇到相同的错误
解决如下:我打开“liteclient-build”目录中的“CMakeCache.txt”文件,找到行
OPENSSL_INCLUDE_DIR:PATH=OPENSSL_INCLUDE_DIR-NOTFOUND
并将其更改为我的 openssl 位置
OPENSSL_INCLUDE_DIR:PATH=/usr/local/opt/openssl/include
我在 Windows 上使用 Linux 子系统,特别是 Ubuntu。 对我来说安装 openssl 有帮助:
sudo apt install libssl-dev