error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MT_StaticRelease' doesn't match value 'MD_DynamicRelease' in libknf_rs_sys-f012bad0f463d43a.rlib(knfc.obj)
Please enhance this error. it's not clear which one of the libraries link msvc dynamic. and which one link it static.
This is an error reported by the linker, not by rustc. Rustc is not really in a position where it can improve linker errors. You will have to ask the maintainer of the linker (in this case microsoft) to improve linker errors.
The relationship Rust has with linkers is very unfortunate, because the poor error reporting is just as much of a problem from user perspective, regardless of whose fault is it and how difficult is that to fix.
Error reporting in Rust is carrying users on a golden sedan chair, until the path ends with a sudden cliff, and the user is dumped into the thorny pit of linkers.
There is precedent of rustc parsing other tools output and trying to provide a better error, but such solutions do tend to be... very brittle and specific. I am very much looking forward to us taking more ownership of the space so that we can bring a more... "consistent" level of quality to our tooling.