Building apr on windows ----------------------- Apply apr-enable-ipv6.patch. This will enable IPV6 support for windows builds. Open Visual Studio command prompt and execute nmake -f NMAKEMakefile BUILD_CPU=x86 APR_DECLARE_STATIC=1 For building 64-bit version execute nmake -f NMAKEMakefile BUILD_CPU=x64 APR_DECLARE_STATIC=1 Make sure you select the correct Visual Studio command prompt environment before calling nmake so that correct compiler is setup for the target architecture. Building OpenSSL 1.1.0 and earlier ---------------------------------- Apply openssl-msvcrt.patch This patch makes sure that static version of OpenSSL libraries is linked to msvcrt.dll instead statically linking msvcrt. Without that patch it won't be possible to create statically linked Tomcat native .dll Then follow the standard OpenSSL make procedure ... > perl Configure VC-WIN32 > ms\do_nasm > nmake -f ms\nt.mak For 64-bit Windows use > perl Configure VC-WIN64A > ms\do_win64a > nmake -f ms\nt.mak Building OpenSSL 1.1.1 and later ---------------------------------- Apply openssl-msvcrt-1.1.1.patch This patch addresses issues caused by CMSC compiling against an older Windows API than expected for the compiler version in additional to the static linking issues described above. Then follow the standard OpenSSL make procedure ... > perl Configure no-shared VC-WIN32 > nmake For 64-bit Windows use > perl Configure no-shared VC-WIN64A > nmake For a step-by-step guide to building OpenSSL on Windows see: https://cwiki.apache.org/confluence/display/TOMCAT/Building+the+Tomcat+Native+Connector+binaries+for+Windows