gpt4 book ai didi

linux - 未找到 Openssl header - 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:56 25 4
gpt4 key购买 nike

我需要编译一个 libwebsocket 库用于我的 ARM 目标,它需要 openssl 才能运行。我在 cmake 时构建最新的 libwebsocket 时出现以下错误 ...

但是这里安装了openssl

whereis openssl
openssl: /usr/bin/openssl /usr/bin/X11/openssl /usr/share/man/man1/openssl.1ssl.gz

===================================错误=========== =====

-- Looking for 4 include files stdlib.h, ..., float.h - found
-- Found ZLIB: /usr/lib/arm-linux-gnueabihf/libz.so (found version "1.2.7")
ZLib include dirs: /usr/include
ZLib libraries: /usr/lib/arm-linux-gnueabihf/libz.so
Compiling with SSL support
CMake Error at /usr/local/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:97 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_LIBRARIES
OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
/usr/local/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:291 (_FPHSA_FAILURE_MESSAGE)
/usr/local/share/cmake-2.8/Modules/FindOpenSSL.cmake:313 (find_package_handle_standard_args)
CMakeLists.txt:436 (find_package)


-- Configuring incomplete, errors occurred!

=======================================openssl 在这里===== ===================

ignite@ignite:~/sbox2/rootfs/rfs-raspbian_2/home/pi/libwebsockets/build$  whereis openssl
openssl: /usr/bin/openssl /usr/bin/X11/openssl /usr/share/man/man1/openssl.1ssl.gz

实际上我有,从这里获取 tarball。它有配置脚本来制作和安装 http://www.openssl.org/source/
openssl-1.0.1e.tar.gz

所以这个 (openssl-1.0.1e.tar.gz) 将是获得正确的包 --> openssl-dev 或 openssl-devel --- 这样我就可以解决这个错误?

最佳答案

So with this (openssl-1.0.1e.tar.gz) will be the right package to get --> openssl-dev or openssl-devel --- so that i can resolve this error ?

openssl-dev 软件包用于主机(可能是 x86 或 x64 系列)上的开发。您需要一个针对目标(而不是主机)的交叉编译库。所以 openssl-dev 可能无法解决您的问题。

您的目标是通用 ARM 处理器、iOS 还是 Android?如果是前者,您将需要一个正确设置路径的 arm 交叉工具链。我不知道有关于交叉编译库的好教程(我过去也遇到过)。

有一些用于通用交叉编译的预构建配置。打开 Configureconfig,然后查看一些三元组。 (OpenSSL 不使用 Automake 和 friend )。

如果是 iOS 或 Android,OpenSSL wiki 有一些平台交叉编译的例子。参见,例如,FIPS Library and Android . setenv-android.sh 脚本最重要,因为它设置路径、sysroot 和工具链。一旦设置了路径和工具链,剩下的就很简单了。

如果您的目标是通用 ARM,那么您可以使用 Android setenv-android.sh 作为通用构建的起点。完成构建后,将 OPENSSL_ROOT_DIR 指向 ARM 的安装目录。

关于linux - 未找到 Openssl header - 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16215984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com