I provide downloads for Visual Studio 2010 and 2015. I had to remove my 2013 installation due to space constraints, but the build files are still there so you can do it, too.
Version | Visual Studio 2010 | Visual Studio 2015 |
---|---|---|
OpenSSL 1.0.2d | 32-Bit Release DLL | 32-Bit Release DLL |
32-Bit Debug DLL | 32-Bit Debug DLL | |
32-Bit Release Static Library | 32-Bit Release Static Library | |
32-Bit Debug Static Library | 32-Bit Debug Static Library | |
64-Bit Release DLL | 64-Bit Release DLL | |
64-Bit Debug DLL | 64-Bit Debug DLL | |
64-Bit Release Static Library | 64-Bit Release Static Library | |
64-Bit Debug Static Library | 64-Bit Debug Static Library | |
OpenSSL 1.0.1p | 32-Bit Release DLL | 32-Bit Release DLL |
32-Bit Debug DLL | 32-Bit Debug DLL | |
32-Bit Release Static Library | 32-Bit Release Static Library [broken] | |
32-Bit Debug Static Library | 32-Bit Debug Static Library [broken] | |
64-Bit Release DLL | 64-Bit Release DLL | |
64-Bit Debug DLL | 64-Bit Debug DLL | |
64-Bit Release Static Library | 64-Bit Release Static Library [broken] | |
64-Bit Debug Static Library | 64-Bit Debug Static Library [broken] |
Because the process of building OpenSSL is time consuming and error prone, I wrote a couple of batch scripts that simplify the process significantly. You can download them here. Inside, you will find three batch files:
rebuild_openssl_vs2010.cmd
for use with Visual Studio 2010rebuild_openssl_vs2013.cmd
for use with Visual Studio 2013rebuild_openssl_vs2015.cmd
for use with Visual Studio 2015rebuild_openssl_vs2015.cmd
:
T:
set OPENSSL_VERSION=1.0.1p
set SEVENZIP="C:\Program Files\7-Zip\7z.exe"
set VS2015="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"
set VS2015_AMD64="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"
That's it, it will do all the hard work for you and present nicely packaged binaries. Great fun!
OK, so you don't trust me. Right. Well, here is how you can do it manually.... Note: This article wouldn't have been possible without the invaluable help of this article. However, it was obviously not built on a Windows 8 machine, and it didn't include any binaries. So this article follows the same basic structure, but it has some important differences:
T:\openssl-src-32
and T:\openssl-src-64
.Visual Studio Command Prompt (2010)
Visual Studio x64 Win64 Command Prompt (2010)
CMD.EXE
and run C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat
CMD.EXE
and run C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\vcvars64.bat
CMD.EXE
and run C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat
CMD.EXE
and run C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat
T:\openssl-src-32
perl Configure VC-WIN32 --prefix=T:\Build-OpenSSL-VC32-Release-DLL
. This will make T:\Build-OpenSSL-VC32-Release-DLL
your output directory; it should be fairly obvious how you can change that.ms\do_ms
ms\do_nasm
.nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
T:\openssl-src-32
perl Configure debug-VC-WIN32 --prefix=T:\Build-OpenSSL-VC32-Debug-DLL
ms\do_ms
ms\do_nasm
.nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
T:\openssl-src-32
perl Configure VC-WIN32 --prefix=T:\Build-OpenSSL-VC32-Release-DLL
. This will make T:\Build-OpenSSL-VC32-Release-DLL
your output directory; it should be fairly obvious how you can change that.ms\do_ms
ms\do_nasm
.nmake -f ms\nt.mak
nmake -f ms\nt.mak install
T:\openssl-src-32
perl Configure debug-VC-WIN32 --prefix=T:\Build-OpenSSL-VC32-Debug-DLL
ms\do_ms
ms\do_nasm
.nmake -f ms\nt.mak
nmake -f ms\nt.mak install
T:\openssl-src-64
perl Configure VC-WIN64A --prefix=T:\Build-OpenSSL-VC64-Release-DLL
. This will make T:\Build-OpenSSL-VC64-Release-DLL
your output directory; it should be fairly obvious how you can change that.ms\do_win64a
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
T:\openssl-src-64
perl Configure debug-VC-WIN64A --prefix=T:\Build-OpenSSL-VC64-Debug-DLL
ms\do_win64a
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
T:\openssl-src-32
perl Configure VC-WIN64A --prefix=T:\Build-OpenSSL-VC64-Release-Static
. This will make T:\Build-OpenSSL-VC64-Release-Static
your output directory; it should be fairly obvious how you can change that.ms\do_win64a
nmake -f ms\nt.mak
nmake -f ms\nt.mak install
T:\openssl-src-64
perl Configure debug-VC-WIN64A --prefix=T:\Build-OpenSSL-VC64-Debug-DLL
ms\do_win64a
nmake -f ms\nt.mak
nmake -f ms\nt.mak install
Because the OpenSSL build scripts will use the folder outdll32
for both the 32-bit and the 64-bit output, so there is no easy way to distinguish both builds.
GK, December 12, 2015
Note: Special thanks to Alex (see https://github.com/CpServiceSpb/OpenSSLOcsp) for pointing out some mistakes in the documentation of the 64-bit build. Should be fine now.