openssl-1.0.1用mingw编译

来源:互联网 发布:java应用软件 编辑:程序博客网 时间:2024/05/16 10:23
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://co63oc.blog.51cto.com/904636/833481 

1. mingw主页http://www.mingw.org/
安装程序在http://sourceforge.net/projects/mingw/files/
安装程序会再连接网络, 下载需要的组件

openssl主页http://www.openssl.org/
当前版本是openssl-1.0.1.tar.gz

下载后解压到c盘c:\openssl-1.0.1

2. 运行MinGW Shell
cd /c/openssl-1.0.1/

这里要修改 md2test.c 的内容从 dummytest.c 改为 #include "dummytest.c", 不然出现错误
md2test.c:1:10: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘.’ token

同样修改的文件有rc5test.c, jpaketest.c
./config
make

得到的文件是libcrypto.a, libssl.a

3.
mkdir out/
mv libcrypto.a libssl.a out/

ms\mingw32.bat文件中的命令:

这里要替换路径分隔符 \ 为 /
perl util/mkdef.pl 32 libeay >ms/libeay32.def
perl util/mkdef.pl 32 ssleay >ms/ssleay32.def

dllwrap --dllname libeay32.dll --output-lib out/libeay32.a --def ms/libeay32.def out/libcrypto.a -lws2_32 -lgdi32
dllwrap --dllname libssl32.dll --output-lib out/libssl32.a --def ms/ssleay32.def out/libssl.a out/libeay32.a

mv libeay32.dll libssl32.dll out/

 


0 0