最经我用MinGW编译OpenSSL的过程中发生了很多问题,不过好在已经解决了,现在写出来以备查询
以OpenSSL-0.9.8l为例:
前略(下载,解压)注意要安装Perl,如果你只是用来安装OpenSSL的可以下ActivePerl,以后还有其它用的下strawberry-perl
(先说问题)
使用MinGW编译OpenSSL时我发现有以下问题
1、解压目录/ms/mingw32.bat内的路径有问题,直接使用会报找不到文件
2、编译过程中报错(内容如下)
./crypto/des/set_key.c:68: error: static declaration of '_hide_DES_check_key' follows non-static declaration ./crypto/des/set_key.c:68: error: previous declaration of '_hide_DES_check_key' was here
mingw32-make: *** [tmp/set_key.o] Error 1
3、其它编译问题(我没有遇到,不过似乎官方有准备)
4、使用静态链接库libcrypto.a时
libcrypto.a(rand_win.o)(.text+0xb13):rand_win.c: undefined reference to '_CreateDCA@16'
libcrypto.a(rand_win.o)(.text+0xb24):rand_win.c: undefined reference to '_CreateCompatibleDC@4'
等错误
解决法案:
一、解决这一种问题方法 是将mingw32.bat从 解压目录/ms 下面复制回 解压目录 下面,即将mingw32.bat放在解压后的OpenSSL的根目录下
二、编译过程中出现上述的报错,问题出在 解压目录/e_os2.h 中:264行
# define