There is a rule of thumb - do not use shared builds built under Debug runtime and Release runtime .
In general, this probably can in no way affect the final work of the product, unless you need 2 different runtimes . But in some non-trivial situations, everything can be bad enough.
Since the build in Debug configuration implies linking to the debug versions of the system functions (this is memory allocation, checking the validity of iterators, and a common wrapper to call the main function, ...) , mixing the calls of these functions from msvcrtd and msvcrt is quite possible to undefined behavior .
Plus, another obvious flaw is that calling the debug versions of the system functions in hotspot'ах may well threaten the entire performance of the whole application.