一、环境说明
系统:win7_x64
编译:VS2012
二、编译
1.配置文件生成
32位:
perl Configure VC-WIN32 no-asm no-hw --prefix=c:\some\openssl\dir
64位:
perl Configure VC-WIN64A no-asm no-hw --prefix=c:\some\openssl\dir
2. 开始编译
ms\do_ms
3.编译
动态(dll):
nmake -f ms\ntdll.mak
静态:
nmake -f ms\nt.mak
出现问题解决:
1.出现如下错误:
cryptlib.obj : error LNK2019: 无法解析的外部符号 _OPENSSL_ia32_cpuid,该符号在函
数 _OPENSSL_cpuid_setup 中被引用
out32dll\libeay32.dll : fatal error LNK1120: 1 个无法解析的外部命令
NMAKE : fatal error U1077: “"D:\visual studio\VC\BIN\link.EXE"”: 返回代码“0x
60”
解决:
把步骤3换成如下命令:
perl util\mkfiles.pl >MINFO
perl util\mk1mf.pl debug no-asm VC-WIN32 >ms\nt.mak
perl util\mk1mf.pl debug dll no-asm VC-WIN32 >ms\ntdll.mak
perl util\mk1mf.pl debug no-asm VC-CE >ms\ce.mak
perl util\mk1mf.pl debug dll no-asm VC-CE >ms\cedll.mak
perl util\mkdef.pl 32 libeay > ms\libeay32.def
perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
继续执行第4步。