首先是下载openssl,地址:

具体是哪个版本需要根据需求来确定,《据说是openssl的不同版本之间的兼容性不好  -----具体待我求证》,最好是使用要求的版本。

 我这里使用openssl0.9.8m.tar.gz

解压后进入目录:cd openssl0.9.8m

 1、这里是静态编译:

我首先这样配置    :  ./config   &&  make && make install

之后查看默认安装路径中:/usr/local/ssl 中 lib中只有 libcrypto.a libssl.a 两个静态库;但是这里我需要静态库,

./config --help  可以查看帮助;具体有什么参数要求。
我想要的 libcrypto.so.0.9.8 (动态库),这里只有libcrypto.a libssl.a 两个静态库 原因是 openssl 编译时默认参数为生成静态库。

2、生成动态库:

./config shared     &&  make && make install

如果是设置参数如下:

./config shared --prefix=/usr/local --openssldir=/usr/local/ssl

prefix 是安装目录,openssldir 是配置文件目录,另外建议安装两次,shared 作用是生成动态连接库
如果是交叉编译还需要添加 交叉编译 参数: --crosscompile=arm-linux-gcc

方法2:修改Makefile文件:

   1) CC= gcc 改成 CC = arm-linux-gcc;

   2) 删除 CFLAG= 中的 “-march=pentium”;

   3) AR=ar $(ARFLAGS) r 改为 AR=arm-linux-ar $(ARFLAGS) r;

   4) ARD=ar $(ARFLAGS) d 改为 ARD=arm-linux-ar $(ARFLAGS) d;

   5)RANLIB= /usr/bin/ranlib 改为 RANLIB= arm-linux-ranlib;

 这样就是使用arm-linux-gcc编译器,当然必须在环境变量中添加 arm-linux-gcc的路径。