gpt4 book ai didi

交叉编译 "OpenSSL"错误

转载 作者:IT王子 更新时间:2023-10-29 00:12:01 32 4
gpt4 key购买 nike

我在我的 C 代码中使用了 include: < openssl/md5.h >。当我用“gcc”编译器编译它时我没有任何错误,但是当我用交叉编译器“arm-linux-gnueabi-gcc”编译它时我有以下错误:

/usr/include/openssl/e_os2.h:56:33: fatal error: openssl/opensslconf.h: No such file or directory 
compilation terminated.

我认为这个错误是因为我在交叉编译器文件夹“/usr/arm-linux-gnueabi-gcc”中没有 openssl 库。

谁能告诉我这是否是错误的原因?以及如何为交叉编译器安装 openssl 库?

我刚开始接触交叉编译,对此了解不多。感谢您的宝贵时间!

最佳答案

我知道这个问题有点老了,但由于我遇到了同样的问题,所以我将把它留在这里以供将来引用。

我找到的解决方案是用安装好的交叉编译器手动编译OpenSSL,然后手动安装到交叉编译库文件夹。

首先,我安装了交叉编译器(我使用的是 Ubuntu 14.04)。我同时安装了 C 编译器和 C++ 编译器。我还安装了两个交叉编译器工具链,一个支持硬 float (arm-linux-gnueabihf),一个不支持 (arm-linux-gnueabi)。创建了两个目录(如问题所述)/usr/arm-linux-gnueabi/usr/arm-linux-gnueabihf,其中交叉编译的库应该安装到。

sudo apt-get install {gcc,g++}-arm-linux-gnueabi{,hf}

其次,克隆 OpenSSL Git 存储库并检查我感兴趣的版本 (1.0.2):

git clone https://github.com/openssl/openssl
git checkout OpenSSL_1_0_2 # or another version

然后,我配置了交叉编译的环境并更改了安装目录(前缀),并按照INSTALL文件中提供的说明构建了库(并强制使用特定的交叉编译工具链):

export CROSS=arm-linux-gnueabi # or arm-linux-gnueabihf
export AR=${CROSS}-ar
export AS=${CROSS}-as
export CC=${CROSS}-gcc
export CXX=${CROSS}-g++
export LD=${CROSS}-ld

./Configure --prefix=/usr/${CROSS} os/compiler:${CC}
make
sudo make install

您可以重复该过程并使用两个工具链(arm-linux-gnueabiarm-linux-gnueabihf)进行编译。

希望这对您有所帮助。

关于交叉编译 "OpenSSL"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20181372/

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