openssl编译方法:
刚开始用这个http://wenku.baidu.com/view/7df1b7edaa00b52acfc7ca6d.html?from=search没有成功,每次都是因为perl Configure VC-WIN32 的目录出错,Perl下载网址是http://www.activestate.com/activeperl/downloads,我用的版本是5.20.2.2002。openssl的下载网址是http://www.openssl.org/source/old/,我用的版本是openssl-1.0.1c,要完成windows下面的编译还需要用到VS2010,编译方式参考这个http://jingyan.baidu.com/article/d169e1864d4b4d436611d8a0.html,大致的编译步骤:
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文件目录中
一会就编译成功了,注意自己的系统是32为还是64位。
编译1.0.2的时候有可能遇到错误U1070,解决方式:http://bbs.csdn.net/topics/390986380,禁用汇编
perl Configure VC-WIN32 no-asm
ms\do_ms
openssl在vs2010中的使用过程
将openssl下面的include目录附加
将编译好的openssl-1.0.1c\out32dll目录作为库目录
在“附加依赖项”中,加入libeay32.lib和ssleay32.lib文件(这两个文件都在openssl-1.0.1c\out32dll目录下)
去掉预编译头:
注意输出目录和输出文件保持一致:
之前代码一直报错就是因为输出目录和输出文件不一致导致的,至于原因,参考博客:http://blog.csdn.net/yyhero1/article/details/19272637。
还需要修改OpenSSL安装目录的下的include/bn.h文件,
#define BN_ULONG unsigned long long
#define BN_LONG long long
分别修改为:
#define BN_ULLONG ULONGLONG
#define BN_ULONG ULONGLONG
#define BN_LONG LONGLONG