Hi,

On 2022-02-15 11:21:42 +0100, Juan José Santamaría Flecha wrote:
> Building with a mix of debug and release components is not a good practice
> for issues like this, but is not something that MSVC forbids.

It's not a problem if you never need share memory, file descriptors, locales,
... state across DLL boundaries...


> If this is something we want to discard altogether, we can check at build
> time with 'dumpbin' to ensure that all dlls share the same vcruntime.dll.

I think these days it's mostly a question of ucrtbase.dll vs ucrtbased.dll,
right?

FWIW, I've looked at using either vcpkg or conan to more easily install /
build dependencies on windows, in the right debug / release mode.

The former was easier, but unfortunately the zlib, lz4, ... packages don't
include the gzip, lz4 etc binaries right now. That might be easy enough to fix
with an option. It does require building the dependencies locally.

Conan seemed to be a nicer architecture, but there's no builtin way to update
to newer dependency versions, and non-versioned dependencies don't actually
work. It has pre-built dependencies for the common cases.

Greetings,

Andres Freund


Reply via email to