交叉编译openssl(arm和x86_64)
⼀、安装arm的交叉编译器
1.
说明:
gnu编译器①按照交叉编译器的命名规则,需要的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.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。