首先是下载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的路径。