My dev root is c:\dev_gcc\ - I know, we are not using gcc ;)
Download and run Windows Installer (EXE), remeber to add perl.exe to PATH system variable
PATH system variableDownload and run Windows win64-x64 Installer

curltut\zlib-1.2.11curltut\zlib-1.2.11\contrib\vstudio\vc14zlibvc.sln change output path to ..\..\..\..\x64\bin\zlib\curltut\x64\binzlibwapi.dllNote:
To use zlibwapi.dll in your application, you must define the macro ZLIB_WINAPI when compiling your application’s source files.
https://www.openssl.org/source/
openssl-1.1.0g.tar.gz, unizp in curltut\openssl-1.1.0gopenssl-1.1.0g\INSTALLset PATH=C:\dev_gcc\curltut\x64\bin\zlib;%PATH%
cd curltut\openssl-1.1.0g
perl Configure VC-WIN64A-masm zlib --openssldir=c:\dev_gcc\curltut\x64\bin\openssl --prefix=c:\dev_gcc\curltut\x64\bin\openssl --with-zlib-include=C:\dev_gcc\curltut\zlib-1.2.11 --with-zlib-lib=C:\dev_gcc\curltut\x64\bin\zlib\zlibwapi.lib
nmake clean
nmake
nmake test
nmake install
curltut\x64\bin\opensslcurltut\libssh2-1.8.0cd curltut\libssh2-1.8.0
mkdir ..\x64\bin\libssh2

Ungrouper Entries
CRYPTO_BACKEND = OpenSSL
OPENSSL_INCLUDE_DIR = C:\dev_gcc\curltut\x64\bin\openssl\include
BUILD
BUILD_SHARED_LIBS = True
DLL
DLL_LIBEAY32 = C:/dev_gcc/curltut/x64/bin/openssl/bin/libcrypto-1_1-x64.dll
DLL_SSLEAY32 = C:/dev_gcc/curltut/x64/bin/openssl/bin/libssl-1_1-x64.dll
ENABLE
ENABLE_ZLIB_COMPRESSION = True
LIB
LIB_EAY_RELEASE = C:\dev_gcc\curltut\x64\bin\openssl\lib\libcrypto.lib
SSL
LIB_EAY_RELEASE = C:\dev_gcc\curltut\x64\bin\openssl\lib\libcrypto.lib
ZLIB
ZLIB_INCLUDE_DIR = C:\dev_gcc\curltut\zlib-1.2.11
ZLIB_LIBRARY_RELEASE = C:\dev_gcc\curltut\x64\bin\zlib\zlibwapi.lib
curltut\x64\bin\libssh2\libssh2.sln and build configuration Releasecurltut\x64\bin\libssh2\src\Releasecurltut\nghttp2-masterCMAKE_CONFIGURATION_TYPES = Release
CMAKE_INSTALL_PREFIX = C:\dev_gcc\curltut\x64\bin\nghttp2\bin
LIB_EAY_RELEASE = C:\dev_gcc\curltut\x64\bin\openssl\lib\libcrypto.lib
SSL_EAY_RELEASE = C:\dev_gcc\curltut\x64\bin\openssl\lib\libssl.lib
OPENSSL_ROOT_DIR = C:\dev_gcc\curltut\x64\bin\openssl
ZLIB_LIBRARY = C:\dev_gcc\curltut\x64\bin\zlib\zlibwapi.lib
ZLIB_ROOT C:\dev_gcc\curltut\zlib-1.2.11
cd C:\dev_gcc\curltut\x64\bin\nghttp2\
cmake --build . --config Release
https://curl.haxx.se/download.html
curltut\curl-7.58.0cd curltut\curl-7.58.0
mkdir ..\x64\bin\libcurl
curltut\curl-7.58.0\projects\Windows\VC15\curl-all.slnDLL Release - DLL OpenSSL - DLL LibSSH2c:\dev_gcc\curltut\x64\bin\libcurllibcurl, add this preprocessor defines:
HAVE_LIBZHAVE_ZLIB_HUSE_NGHTTP2libcurl, modify include paths:
C:\dev_gcc\curltut\x64\bin\openssl\includeC:\dev_gcc\curltut\libssh2-1.8.0\includeC:\dev_gcc\curltut\zlib-1.2.11C:\dev_gcc\curltut\x64\bin\nghttp2\bin\includelibcurl, modify library paths:
C:\dev_gcc\curltut\x64\bin\openssl\libC:\dev_gcc\curltut\x64\bin\libssh2\src\ReleaseC:\dev_gcc\curltut\x64\bin\zlibC:\dev_gcc\curltut\x64\bin\nghttp2\bin\liblibcurl, modify libaries:
libssl.lib (and remove ssleay32.lib)libcrypto.lib (and remove libeay32.lib)zlibwapi.libnghttp2.libcurltut\curl-7.58.0\build\Win64\VC15\DLL Release - DLL OpenSSL - DLL LibSSH2Notes
during building if there is an error about missing stdio.h
use command ridestina progetti on solution root, select your last windows SDK available