欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

交叉编译openssl

程序员文章站 2022-06-29 13:36:00
...

环境:VMware Workstation 15.0.2 + Ubuntu18.04
开发板:Real210(V6.2)

1、下载源码

https://www.openssl.org/source/

下载较新版,不一定要最新版,具体参照官网的说明
交叉编译openssl
交叉编译openssl

2、解压

解压:tar xvf openssl-1.1.1c.tar.gz

进入解压路径:cd openssl-1.1.1c

3、配置

./config no-asm shared --prefix=/usr/local/openssl/arm_openssl --cross-compile-prefix=arm-linux-

参数说明:
no-asm 关于汇编的模块不进行编译,因为部分汇编会报错
shared 表示编译成动态链接库
–prefix=xxxx 安装路径,自行设置
–cross-compile-prefix=xxx 交叉编译工具的路径及前缀,
交叉编译openssl
可以打开 Makefile 确认一下

安装路径
交叉编译openssl
交叉编译工具:


这里是一些配置的解释(80--120行)

##### User defined commands and flags ################################

# We let the C compiler driver to take care of .s files. This is done in
# order to be excused from maintaining a separate set of architecture
# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC
# gcc, then the driver will automatically translate it to -xarch=v8plus
# and pass it down to assembler.  In any case, we do not define AS or
# ASFLAGS for this reason.

CROSS_COMPILE=arm-linux-		// 交叉编译工具,我是用的 arm-linux-gcc 系列
CC=$(CROSS_COMPILE)gcc			// 上一行CROSS_COMPILE=arm-linux-,这一行CC=CROSS_COMPILE变量加gcc,即arm-linux-gcc
CXX=$(CROSS_COMPILE)g++			// 同理
CPPFLAGS=
CFLAGS=-Wall -O3
CXXFLAGS=-Wall -O3
LDFLAGS= 
EX_LIBS= 

MAKEDEPEND=$(CROSS_COMPILE)gcc		// 同理

PERL=/usr/bin/perl

AR=$(CROSS_COMPILE)ar				// 同理
ARFLAGS= r
RANLIB=$(CROSS_COMPILE)ranlib		// 同理
RC= $(CROSS_COMPILE)windres			// 同理
RCFLAGS= 

RM= rm -f
RMDIR= rmdir
TAR= tar
TARFLAGS= 

BASENAME=       openssl
NAME=           $(BASENAME)-$(VERSION)
# Relative to $(SRCDIR)
TARFILE=        ../$(NAME).tar

搜索 -m64 并删除,共两处
交叉编译openssl

4、编译

make

满屏的指令在滚动,不过可以看到在设置路径之类的,并没有 error ,那就不怕了,等一会就好
交叉编译openssl

5、安装

make install

6、完成

交叉编译openssl
交叉编译openssl

参考:
https://blog.csdn.net/wanghelou123/article/details/51780720

https://blog.csdn.net/klkfl/article/details/90359186

https://blog.csdn.net/SmtRobot/article/details/83502524

https://blog.csdn.net/fangye945a/article/details/86658621