cloudflare / quiche

🥧 Savoury implementation of the QUIC transport protocol and HTTP/3
https://docs.quic.tech/quiche/
BSD 2-Clause "Simplified" License
9.29k stars 697 forks source link

Dependencies always build as release on Windows #1255

Open programingman opened 2 years ago

programingman commented 2 years ago

Trying to build quiche to use with curl on Windows using cargo build --features ffi,pkg-config-meta,qlog It's working fine, except when I try to link the debug build in MSVC, I get the following errors:

quiche.lib(ssl_lib.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in mycode.obj
quiche.lib(ssl_lib.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MDd_DynamicDebug' in mycode.obj

I get about 50 of these errors all from ssl/tls related files. I've tried deleting everything and only building debug from the start but somehow it seems like boringssl is still being built in release mode.

I tried building boringssl manually with cmake but I couldn't get quiche to find it with QUICHE_BSSL_PATH

Any help is greatly appreciated, thanks!

ghedo commented 2 years ago

Can you try again with the latest master branch? There was a change related to Windows builds merged earlier today.