Hi
I'm having to define _SECURE_SCL=0 when compiling debug builds of my C++ applications which are built using the /MTd switch, otherwise the linker cannot resolve reference __invalid_parameter_noinfo. When the release build is generated using the /MT switch, there are no problems, since this reference is resolved by LIBCMT.LIB.
I've used DUMPBIN to try to find __invalid_parameter_noinfo in all the standard installed libraries, but it only seems to be present in LIBCMT.LIB and MSVCRT.LIB.
Is LIBCMTD.LIB incomplete or am I doing something wrong
Thanks

__invalid_parameter_noinfo is resolved by LIBCMT.LIB but not LIBCMTD.LIB
Paul Dettorre
It is other way around. _invalid_parameter_noinfo function is used in Release mode, not in Debug mode. You have a mix of .obj compiled with both Release and Debug. Because STL is templates, this is resolved in compile time, so your object already references _inv_param_noinfo by the time it gets to linker.
Check that all parts of your project are compiled in Debug mode both any file in your project and any static library it uses.
Nikola
DotNetDevelop
Hi Martin
Sorry if I've not been clear, but it's the debug build I'm having trouble with, the release build is fine.
Are you saying here that __invalid_parameter_noinfo is a release only build symbol
GregWold