
[STL]
Yes. VC10's linker deterministically detects IDL mismatch and emits hard errors, naming the offending object files. (This machinery, , is available for anyone to use. It will also detect when object files using the C++ Standard Library and compiled with different major versions of VC are mixed together, as long as both are VC10+; unfortunately we can't detect mixing when VC9 or earlier is involved.)
[John Maddock]
I've been testing this, and it works well for object files being linked into one application (and presumably for static libraries), but appears not to detect mismatches between an application and a DLL, which basically makes it next to useless... unless I'm missing something?
If you're using import libs, that *should* work.
I'm using import libraries - my test project is attached - no errors are generated even though they have hardcoded mismatched #pragma detect_mismatch's. Cheers, John.