Building OpenSSL with Visual Studio

New:

Downloads

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.1.0c 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.2j 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.1u 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

Building OpenSSL automatically

Because the process of building OpenSSL is time consuming and error prone, I wrote a couple of batch scripts that simplify the process significantly.

With the release of OpenSSL 1.1.0*, the build process has changed, so there are now two downloads:

  1. For building 1.1.0 and higher: build_openssl_1.1.x.7z
  2. For building 1.0.2 or lower: build_openssl.zip

Inside, you will find three batch files:

Prerequisites

Building the OpenSSL binaries

That's it, it will do all the hard work for you and present nicely packaged binaries. Great fun!

Building OpenSSL manually

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:

Building OpenSSL 1.1.0 and higher manually

Prerequisites

Building the 32-bit Release DLL

Building the 32-bit Debug DLL

Building the 32-bit Release Static Library

Building the 32-bit Debug Static Library

Building the 64-bit Release DLL

Building the 64-bit Debug DLL

Building the 64-bit Release Static Library

Building the 64-bit Debug Static Library

Building OpenSSL 1.0.2 and lower manually

Prerequisites

Building the 32-bit Release DLL

Building the 32-bit Debug DLL

Building the 32-bit Release Static Library

Building the 32-bit Debug Static Library

Building the 64-bit Release DLL

Building the 64-bit Debug DLL

Building the 64-bit Release Static Library

Building the 64-bit Debug Static Library

FAQ

Why did I need to create two different copies of the sourcecode

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.