我们知道OPENSSL在Windows下的一般编译步骤是:
1、下载openssl代码,以管理员运行Winrar解压缩,安装ActivePerl。
2、然后打开VS2008 Command Shell,运行命令:perl Configure VC-WIN32或perl Configure debug-VC-WIN32,ms\do_ms,nmake -f ms\do_nt,nmake -f ms\do_ntdll,然而OpenSSL 1.0.2a直接运行ms\do_ms,nmake -f ms\do_nt,nmake -fms\do_ntdll会报错。绕过的方法是下载NASM或者MASM,安装好以后,在系统PATH中设置好路径,然后在VS2008 Command Shell下运行ms\do_nasm,nmake -fms\do_nt,nmake -f ms\do_ntdll。
需要注意到是:如果你第一次已经运行过一次ms\do_ms,那么应该执行nmake -f ms\nt.mak clean来执行清理工作;另外DEBUG版本和Release版本应该分两次编译。
另外网上说的在WindowsXP + VC6.0下把ML.exe换成8.0版本的似乎也不行啊,老是报错,还是往高版本迁移吧,要是为了所有的东西都在一个Exe里面的话就把所有的第三方库都搞成静态版本。