In tracy-client-sys in build.rs, inside the build_tracy_client function, you build libtracy-client.a via the cc package. On Windows, we are being provided external dll's that link against the C runtime statically. Unfortunately, your code links against the C runtime dynamically, and on Windows, all libraries that your exectuable links against must link against the C runtime the same way (either statically or dynamically). Being able to control this would be very helpful. At present this is only a problem on Windows. Our hack looks something like this:
// KEVIN: This is a hack, libcef.dll and the sandbox statically link
// to the CRT, but tracy-client-sys doesn't. This causes a linker
// error when the CRT is loaded twice. Here we force static linking.
#[cfg(all(target_os = "windows"))]
{
builder.flag("/MT");
}
You can see our branch here. Perhaps the best way to handle this is through a feature flag? Thanks in advance.
In
tracy-client-sysinbuild.rs, inside thebuild_tracy_clientfunction, you buildlibtracy-client.avia theccpackage. On Windows, we are being provided externaldll's that link against the C runtime statically. Unfortunately, your code links against the C runtime dynamically, and on Windows, all libraries that your exectuable links against must link against the C runtime the same way (either statically or dynamically). Being able to control this would be very helpful. At present this is only a problem on Windows. Our hack looks something like this:You can see our branch here. Perhaps the best way to handle this is through a feature flag? Thanks in advance.