一文教会你如何交叉编译openssl

2020-05-16 21:24:44

小沃最近开发了不少嵌入式linux的小程序,其中有个小工具需要用到openssl,下面小沃就来记录一下如何使用交叉编译工具编译嵌入式版本的openssl。

1.下载openssl源代码,下载地址如下:传送门

下面的教程以OpenSSL_1_1_1g版本为例。

2.将交叉编译器的路径添加到环境变量中去,比如您的交叉编译器路径为/root/toolchains/bin,就请执行:

export PATH=/root/toolchains/bin:$PATH

3.将交叉编译器的调用对象设置好环境变量,比如我们使用的编译器分别为mipsel-openwrt-linux-gcc,mipsel-openwrt-linux-ar,mipsel-openwrt-linux-g++,mipsel-openwrt-linux-ranlib,就需要运行:

export CC=mipsel-openwrt-linux-gcc
export AR=mipsel-openwrt-linux-ar
export CXX=mipsel-openwrt-linux-g++
export RANLIB=mipsel-openwrt-linux-ranlib

4.进入openssl根目录,运行./config no-asm --prefix=/root/toolchains,注意--prefix后面的参数建议与交叉编译器的路径一致。

注:如果不希望生成动态链接库,可以添加no-shared参数

如果出现如下错误提示,请添加no-async

567.png

5.通过文本编辑工具(比如vim,nano等)修改第4步生成的Makefile文件,去掉-m64这个字段。

6.然后就可以执行make && make install了。

7.最后就可以直接使用交叉编译器编译了,编译时添加-lssl -lcrypto参数即可。比如:

mipsel-openwrt-linux-gcc -o tlstunnel tlstunnel.c -lssl -lcrypto

如果第4步添加了no-shared,就会链接静态库,生成的二进制文件也会比较大。


文章作者:沃航科技

联系我们
地址:武汉市东湖高新开发区光谷总部国际1栋2412室
QQ: 932773931
电话:027-59761089-806
手机:13397158231
邮箱:jevian_ma@worldflying.cn

沃航(武汉)科技股份有限公司版权所有

备案号:鄂ICP备16014230号-1

932773931
13397158231