交叉编译openssl
程序员文章站
2022-06-29 13:36:00
...
环境:VMware Workstation 15.0.2 + Ubuntu18.04
开发板:Real210(V6.2)
1、下载源码
https://www.openssl.org/source/
下载较新版,不一定要最新版,具体参照官网的说明
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 交叉编译工具的路径及前缀,
可以打开 Makefile 确认一下
安装路径
交叉编译工具:
这里是一些配置的解释(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 并删除,共两处
4、编译
make
满屏的指令在滚动,不过可以看到在设置路径之类的,并没有 error ,那就不怕了,等一会就好
5、安装
make install
6、完成
参考:
https://blog.csdn.net/wanghelou123/article/details/51780720
https://blog.csdn.net/klkfl/article/details/90359186
上一篇: 黑客榜中榜 过关游戏第一期