My machine environment is: WINDOW7 + vs2010 + vc6.0;
In fact, on the windows with VS2010 above tools to compile the OpenSSL repository is very simple, it is estimated that we have tested, with VS2008 and above tools to compile the OpenSSL repository on 3 lines of code can be:
Perl Configure-win32--prefix=d:/openssl
Ms\do_ms
Nmake-f Ms\nt.mak
The vc6.0 version of OpenSSL compiles the following steps:
1. Open a command prompt, locate the bin directory where vc6.0 is located, enter Vcvars32.bat, and configure the environment variables.
2. To the directory where OpenSSL is located, execute
Perl Configure Vc-win32--prefix=d:/openssl, if you want to compile the debug version, change Vc-win32 to Debug-vc-win32.
3, the implementation of Ms\do_ms;
4, the implementation of Nmake-f Ms\nt.mak;
The problem arises because ml. exe is the assembler compiler for Microsoft, and this problem occurs because vc6.0 does not have the assembler installed. Solutions are,
Copy a ml.exe from the vs2010 installer to the D:\Program Files\Microsoft Visual Studio\vc98\bin directory. Continue compiling:
And then there's the
The above question, in the online inquiry information, said is Windows7 installed the SDK version is too high, so some debugging information can not support; I think it's not supported by debugging information.
Big deal I use release version, therefore, after executing Ms\do_ms, I modify the MS directory Nt.mak in the
Lflags=/nologo/subsystem:console/opt:ref/debug this line instead
Lflags=/nologo/subsystem:console/opt:ref/release
In the same way, Ntdll.mak is also modified inside. This has a disadvantage, is vc6.0 debug always error.
After continuing to find some of the data, and combined with the above problems, I would like to use assembly language, so, from the beginning to compile, let OpenSSL exclude assembly language, is in compiling OpenSSL, add-no-asm.
Perl Configure Vc-win32-no-asm--prefix=d:/openssl
Ms\do_ms
Nmake-f Ms\nt.mak
The reason for this problem is that vc6.0 does not add IPV6 to this compilation option.
Solution:
Disable IPV6 at execution time, i.e.
Perl configure-dopenssl_use_ipv6=0
So start compiling from:
Perl Configure Vc-win32-dopenssl_use_ipv6=0-no-asm--prefix=d:/openssl
Ms\do_mss
Nmake-f Ms\nt.mak
There is no problem after compiling.
Problems in the OPESSL compilation process under Windows vc6.0