This is a very quick and dirty set of notes for building
curl.exe that includes HTTP/2 (via --http2) support on Windows. This is a "make it work" path, not something elegant!. For me, this came in handy testing against a h2o HTTP/2 server using h2c (browsers want to use h2 only).
I'll say this one more time: This is a dirty dirty hack I used just to get the thing built so I could move on to more pressing issues :)
- A modernish Visual Studio
- OpenSSL 1.0.0+ built somewhere*
- nghttp2 built somewhere*
- zlib built somewhere* (If you want gzip support of course)
* Outside the scope of this quick and dirty article!
The basic instructions
- Checkout the latest cURL from Github
- From projects, run
generate.bat... wait for a bit.
- Open the proper solution for your VC version
- Select the proper configuration such as "LIB Release - DLL OpenSSL"
- Modify the libcurl project adding the following defines:
- Modify the same project pointing to OpenSSL and nghttp2 include and lib folders as well as to link against your nghttp2.lib
If all goes well, you now have a curl.exe that supports --http2!
Gzip compression can be enabled by similar steps to above, but add
USE_ZLIB=1 to your preprocessor and point to the appropriate zlib locations.