VS2012编译openssl-1.0.1k.tar.gz
1、下载openssl-1.0.1k.tar.gz的版本
方法一:到openssl官网下载:http://www.openssl.org/source/old/1.0.1/
方法二:分享小编百度云下载链接:http://pan.baidu.com/s/1dDjaRCX


2、下载Activeperl,根据自己的计算机系统版本选择Activeperl版本
方法一:官网下载
方法二:小编百度云分享链接
2.1 64位系统ActivePerl链接地址:http://pan.baidu.com/s/1o60tzse
2.2 32位系统ActivePerl链接地址:http://pan.baidu.com/s/1i3qunWx

3、解压openssl-1.0.1k.tar.gz
tar.gz是linux和unix下面比较常用的压缩文件格式,在以上系统中可以很轻松的把文件解压,然而这种格式在windows并不多见
方法一:熟悉Linux的同学可以在Linux环境下解压,解劣驼压命令:tar zxvf openssl-1.0.1k.tar.gz
方法二:使用WinRAR压缩工具直接在window下解压
4、64位系统打开VS2012 x64兼容模式命令提示工具(注:32位系统编译参考步骤7)
4.1 打开所以程序
4.2 找到Microsoft Visual Studio 2012
4.3 打开VS2012 x64兼容模式命令提示工具



5、进入到解压后的openssl-1.0.1k目录
如小编的openssl-1.0.1k在E盘下,则进入openssl-1.0.1k目录如下图操作屈注忌

6、编译openssl-1.0.1k库,编译步骤如下:
openssl-1.0.1k>perl Configure VC-WIN64A
openssl-1.0.1k>ms\do_win64a
openssl-1.0.1k>nmake -f ms\ntdll.mak
最后生成的dll、lib都在out32dll文件目录中
7、32位系统打开 VS2012 X86本机命令提示工具
7.1 打开所以程序
7.2 找到Microsoft Visual Studio 2012
7.3 打开VS2012 x86本机命令提示工具
编译openssl-1.0.1k库,编译步骤如下:
openssl-1.0.1k>perl Configure VC-WIN32
openssl-1.0.1k>ms\do_ms.bat
openssl-1.0.1k>nmake -f ms\ntdll.mak
最后生成的dll、lib都在out32dll文件目录中
8、附加:
在运行“nmake -f ms\ntdll.mak”命令是,出现了三个错误1、.crypto\cversion.c<80> : error C2065:"cflags":未申明的标识符2、.crypto\cversion.c<80> :warning C4047:"return","const char * "与“int”的间接级不同3、NMAKE:fatalerror U1077:""D:\Program Files\Microsoft Uisual Studio 11.0\VC\BIN\c1.EXE ":返回代码“0x2” stop.
解决方法:
1.openssl-1.0.1k\crypto目录;
2.打开cversion.c文件;
3.修改如下:
if (t == SSLEAY_CFLAGS)
{
#ifdef CFLAGS
return(CFLAGS);//return(cflags);
#else
return("五码compiler: information not available");
#endif}