Technical Documentation

Curl

Last Updated: October 16, 20241.3 min read

Windows

git clone https://github.com/openssl/openssl.git (3.1) 321d6cd7f428d1c20b88dec8233eac8afe727577
ย  ย  install https://strawberryperl.com/
ย  ย  install https://www.nasm.us/
ย  ย  x64 Native Tools Command Prompt for VS 2022
ย  ย  cd \openssl\
ย  ย  perl Configure VC-WIN64A
ย  ย  nmake
ย  ย  Powershell
ย  ย  copy .\include .\build\include -R
ย  ย  mkdir build/lib
ย  ย  copy libssl_static.lib build/lib/libssl.lib
ย  ย  copy libcrypto_static.lib build/lib/libcrypto.lib
ย  ย  nmake clean
git clone https://github.com/madler/zlib.git (1.2.13) 04f42ceca40f73e2978b50e93806c2a18c1281fc
ย  ย  x64 Native Tools Command Prompt for VS 2022
ย  ย  cd \zlib\
ย  ย  nmake /f win32/Makefile.msc
ย  ย  Powershell
ย  ย  mkdir build
ย  ย  mkdir build/include
ย  ย  copy .\zconf.h .\build\include\
ย  ย  copy .\zlib.h .\build\include\
ย  ย  mkdir build/lib
ย  ย  copy .\zlib.lib .\build\lib\
ย  ย  nmake /f win32/Makefile.msc clean
git clone https://github.com/curl/curl.git (8.1.1) 1561d0675208854b39066877b140780a965702fa
ย  ย  run curl\buildconf.bat
ย  ย  x64 Native Tools Command Prompt for VS 2022 (x86/x64)
ย  ย  ย  ย  cd \curl\winbuild
ย  ย  ย  ย  nmake /E CC=”cl /DCURL_DISABLE_LDAP” /f Makefile.vc mode=static debug=no MACHINE=x64 ENABLE_UNICODE=yes ENABLE_SSPI=no ENABLE_IDN=no WITH_SSL=static SSL_PATH=\openssl\build WITH_ZLIB=static ZLIB_PATH=\zlib\build VC=14.30
Move files
ย  ย  libssl.lib
ย  ย  libcrypto.lib
ย  ย  zlib.lib
ย  ย  libcurl.lib
to sceneri\Code\DefaultPlugins\Networking\Http\Code\Private\3rdparty\curl\lib\Windows\x64
Add #define CURL_STATICLIB 1 in sceneri\Code\DefaultPlugins\Networking\Http\Code\Private\3rdparty\curl\include\curl.h
Add __stdcall to all methods that are used (curl.h, multi.h, etc.)
Table of Contents