准备:
1.安装VS 2010
2.下载最新的ActivePerl并安装,网址:http://www.activestate.com/
3.下载OpenSSL,网址:https://www.openssl.org/source/
编译:
1.版本:openssl-1.0.2e
2.打开CMD窗口,切换到openssl源码目录,执行:Common7\Tools\vsvars32.bat (x64执行:VC\bin\amd64\vcvars64.bat),准备一下编译环境。
3.执行:perl configure VC-WIN32 (x64执行:perl Configure VC-WIN64A,debug版本执行:perl Configure debug-VC-WIN64A)
4.执行:ms\do_ms.bat (x64执行:do_win64a.bat)
5.执行:nmake -f ms\ntdll.mak (静态库执行:nmake -f ms\ntdll.mak)
6.静态库结果在:out32,动态库结果在:out32dll
常见错误:
1.tmp32\sha1-586.asm(1432) : error A2070:invalid instruction operands,解决方法:禁用asm,perl Configure VC-WIN32 no-asm
2.cryptlib.obj : error LNK2001: 无法解析的外部符号 _OPENSSL_ia32cap_P,编译前没有清空之前的残留导致,nmake -f ms\ntdll.mak clean
备注:
1.ActivePerl新版本可能会遇到执行问题,可参考链接
2.使用vs2017编译新版的openssl-1.1.1时,执行完perl configure后直接执行nmake即可。
网友评论