Windows下编译OpenSSL
1) 访问http://www.openssl.org/source/,下载最新版本. 本例下载的是openssl-1.0.1c.tar.gz
2) 使用WinRAR压缩工具对openssl-1.0.1c.tar.gz文件解压缩。
3) 下载Perl,。在WINDOWS下编译需要使用Perl脚本调用Configure产生MAkeFile文件。
下载地址:
4) 安装perl
5) 运行cmd ,改变当前目录到openssl源码
6) 执行Configure.运行perl Configure VC-WIN32 --prefix=d:/openssl。prefix参数的意义是OpenSSL编译好后的安装路径。
7)运行ms文件夹下的do_ms.bat
8)运行nmake -f ms/ntdll.mak。执行make编译。
注意,编译时会用到VC的命令、头文件及LIB库文件,必须确认环境变量中PATH,lib 及INCLUDE已设置正确。
9) 运行nmake -f ms/ntdll.mak test检查上一步编译是否成功。
10)运行nmake -f ms/ntdll.mak install,本步骤将安装编译后的OpenSSL到指定目录,
11) 查看安装结果。在C:/OpenSSL-0.9.9k目录下将看到bin,include/lib 3个文件夹。BIN目录下包括openssl.exe(openssl.指令程序),ssleay32.dll(SSL协议动态库)、libeay32.dll(密码算法库)。
1) 访问http://www.openssl.org/source/,下载最新版本. 本例下载的是openssl-1.0.1c.tar.gz
2) 使用WinRAR压缩工具对openssl-1.0.1c.tar.gz文件解压缩。
3) 下载Perl,。在WINDOWS下编译需要使用Perl脚本调用Configure产生MAkeFile文件。
下载地址:
4) 安装perl
5) 运行cmd ,改变当前目录到openssl源码
6) 执行Configure.运行perl Configure VC-WIN32 --prefix=d:/openssl。prefix参数的意义是OpenSSL编译好后的安装路径。
7)运行ms文件夹下的do_ms.bat
8)运行nmake -f ms/ntdll.mak。执行make编译。
注意,编译时会用到VC的命令、头文件及LIB库文件,必须确认环境变量中PATH,lib 及INCLUDE已设置正确。
9) 运行nmake -f ms/ntdll.mak test检查上一步编译是否成功。
10)运行nmake -f ms/ntdll.mak install,本步骤将安装编译后的OpenSSL到指定目录,
11) 查看安装结果。在C:/OpenSSL-0.9.9k目录下将看到bin,include/lib 3个文件夹。BIN目录下包括openssl.exe(openssl.指令程序),ssleay32.dll(SSL协议动态库)、libeay32.dll(密码算法库)。
至此,OpenSSL在Windows下编译完成了。
问题一:
在安装openssl的过程中需要安装perl,安装完perl之后,运行perl Configure VC-WIN32 --prefix=d:/openssl时总是提示:
Can't open perl script configure : No such file or directory
这个问题可能是由于环境变量的设置引起的。
我的解决办法是设置环境变量
set path=c:/Perl/bin;c:/openssl/;
set path
(我的perl和openssl安装在c:/的perl和openssl中)
然后
c:/cd openssl
c:/openssl/perl Configure VC-WIN32 --prefix=c:/openssl
问题解决
问题二:
安装过程中会报出”ml”不是内部或外部命令之类的提示。
使用vs提供的控制台安装。
打开控制台口依次:
1.输入:perl Configure VC-WIN32
2.使用do_ms,输入:ms\do_ms
3.接着输入:nmake -f ms\ntdll.mak 安装
4.输入:nmake -f ms\ntdll.mak test 测试安装是否成功。
最后会显示 all tests passed提示。编译就通过了,在out32dll目录下面就可以看到生成的dll文件和可执行文件。