编译前置条件:
1.在编译OpenSSL前,安装Perl。下载最新版本的Perl:http://www.activestate.com/activeperl/downloads
2.下载最新版本的OpenSSL:http://www.openssl.org/source/
我编译采用的是openssl是openssl-0.9.8x,编译环境为Windows+VS2008。
编译步骤:
1、进入openssl源码目录。
>cd c:\openssl-0.9.8.x
参照该目录下的文件INSTALL.W32的执行过程。
2、运行configure:
>perl Configure VC-WIN32
说明:在这里,没必要输入“--prefix=c:/openssl”,因为现在已经在该目录下。
3.创建Makefile文件:
>ms\do_ms
4、在VS中注册环境变量:
>cd c:\Program Files\Microsoft Visual Studio 9.0\VC\bin;
>vcvars32.bat,回车运行。
5、编译动态库:
切回openssl的目录
>cd c:\openssl-0.9.8.x
>nmake -f ms\ntdll.mak
编译静态库:
>nmake -f ms\nt.mak
说明:
(1)编译要花几分钟的时间,请耐心等待。如果出现找不到ml.exe(VS2008一般不会),就去下载masm,安装这个软件,在bin里面找到ml.exe和ml.err,复制到C:\Program Files\Microsoft Visual Studio 9.0\VC\bin下面。
(2)遇到nmake错误时说明你没有配置好VS2008环境变量 需要当前CMD命令框里执行VS环境变量批处理文件vcvarsall.bat,参照步骤4。
6、测试动态库:
>nmake -f ms\ntdll.mak test
测试静态库:
>nmake -f ms\nt.mak test
进行测试,若测试成功,最后输出“pass all tests”,则编译成功。
7、 安装动态库:
>nmake -f ms\ntdll.mak install
安装静态库:
>nmake -f ms\nt.mak install
清除上次动态库的编译,以便重新编译:
nmake -f ms\ntdll.mak clean
清除上次静态库的编译,以便重新编译:
nmake -f ms\nt.mak clean
综上所述,最后在opensll的目录中的out32dll目录下会看到编译生成的几个文件:两个dll文件(libeay32.dll、ssleay32.dll),两个lib文件(libeay32.lib、ssleay32.lib),还有一个exe文件(openssl.exe),到此编译openssl完结。