当前位置:   article > 正文

交叉编译openssl(arm和x86_64)_openssl arm交叉编译

openssl arm交叉编译

一、安装arm的交叉编译

1.下载

在这里插入图片描述

说明:
①按照交叉编译器的命名规则,需要的arm交叉编译器为:arm-xxx-linux-gnueabi,其中xxx可以是该交叉编译器的制作者,此处即linaro。
②下图是linaro的交叉编译器的命名规则:
在这里插入图片描述
交叉编译器也是程序,它运行的平台:x86_64 + linux(vmware下的ubuntu20.04LTS),编译openssl源码得到的二进制文件的运行平台:arm + linux(所以二进制格式为ELF

2.解压

在这里插入图片描述

3.添加环境变量

echo "PATH=$PATH:/home/forrest/CS/experimentBCSD/crossCompiler/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabi/bin" >> ~/.zshrc
source ~/.zshrc
在这里插入图片描述

注意:我装了zsh,有的小伙伴们可能还是bash,所以是~/.bashrc

4.验证

在这里插入图片描述

二、交叉编译:arm-linux-gnueabi-gcc 编译 openssl

1.配置

./config shared no-asm --prefix=/home/forrest/CS/experimentBCSD/targetProgram/openssl/openssl-1.1.1k/arm/gcc --openssldir=/home/forrest/CS/experimentBCSD/targetProgram/openssl-1.1.1k/ssl
在这里插入图片描述

2.修改Makefile

①填上CROSS_COMPILE的绝对路径
在这里插入图片描述

注意:末尾没有gcc!!!

②注释掉出现-m64的行

否则,可能出现如下错误:openssl error unrecognized command line option ‘-m64’
理由(猜测):因为此处的交叉编译器是32位的,但运行的平台却是64位的。

3.make

4.make install

我make和make install都很顺利。

三、本地编译:x86_64-linux-gnu 编译 openssl

1.配置

./config shared no-asm --prefix=/home/forrest/CS/experimentBCSD/targetProgram/openssl/openssl-1.1.1k/x86_64/gcc --openssldir=/home/forrest/CS/experimentBCSD/targetProgram/openssl-1.1.1k/ssl

2.make clean

否则会报错

3.make

4.make install

四、参考文档

1.【经验分享】linux交叉编译 - openssl动态库

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/189240
推荐阅读
相关标签
  

闽ICP备14008679号