海思(Hi35XX)环境下交叉编译、安装openssl-0.9.8e

时间:2021-05-25 19:23:48


开发环境:


Redhat Linux 2.6.25
gcc-3.4.3-uClibc-0.9.28

开发板环境:


Hi3512/Hi3511
linux-2.6.14

移植步骤:


第一步、至官网下载最新的openssl-0.9.8e,解压缩

第二步、cd进入openssl-0.9.8e目录

第三步、 阅读INSTALL说明文档,了解大致的安装过程。避免盲目复制、粘贴别人的方法和步骤。

第四步、如果要生成静态库,则运行./config no-asm no-shared --prefix=/home/zdh/wifi/ins

运行上面的命令之后,会自动修改Makefile文件中的一些特定参数。

说明:

no-asm 在交叉编译过程中不使用汇编代码代码加速编译过程。
no-shared  生成静态链接库。
--prefix 指定生成lib include bin目录的路径,不修改此项则默认为OPENSSLDIR目录。

而/home/zdh/wifi/ins这个目录是我自己设置的安装目录了。

注意,no-asm   no-shared   --prefix这三个参数之间要有空格隔开。很多网上的资料都是连在一起,这样会导致配置不成功。


其实,上面的这些参数的作用,都在INSTALL文档中有说明的。


第五步、还需要手动修改Makefile文件如下:

CC=arm-hismall-linux-gcc
CFLAG= -O
EX_LIBS=
AR=arm-hismall-linux-ar -rcu
RANLIB= arm-hismall-linux-ranlib

说明:

1、此处的arm-hismall-linux-gcc为海思交叉编译工具,根据实际情况更改为你自己平台下的编译工具即可,比如:arm-linux-gcc。注意AR和RANLIB也要作相应修改。
2、不同平台的编译器编译出来的库文件大小可能不一样。(我要两种平台下编译出来的库文件相差0.5M的大小)。

第六步、make

第七步、make install
以上操作成功后会在你指定的目录下生成四个文件夹,在其中的lib目录下可找到所需要的 XXX.a静态库文件。
libcrypto.a
libssl.a


更多资料,请参考:http://blog.csdn.net/zqj6893/article/details/8778237