Cmake Openssl 未找到

问题描述 投票:0回答:3

想要交叉编译一个使用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 编译器相同的文件夹中也无济于事。

我已经没有什么可以尝试的了,这一点我不明白为什么它不起作用。有什么建议么?

cmake openssl cross-compiling
3个回答
9
投票

在 Linux 中,我设置 OpenSSL 没有任何问题。

在Windows中,我按照下面的解释解决了。

尝试删除

CMakeCache.txt
文件,然后重试。缓存Cmake是主要问题。

例如,我做了

cmake . -DOPENSSL_ROOT_DIR=C:\openssl-1.0.2 -DOPENSSL_INCLUDE_DIR=C:\openssl-1.0.2\include -DOPENSSL_CRYPTO_LIBRARY=C:\openssl-1.0.2\crypto
,一切都解决了。逻辑是一样的。


2
投票

对于 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

0
投票

我在 Windows 上使用 Linux 子系统,特别是 Ubuntu。 对我来说安装 openssl 有帮助:

sudo apt install libssl-dev
© www.soinside.com 2019 - 2024. All rights reserved.