BUG: LDd Suppresses Implicit Definition of _DEBUGID: Q163369
|
When compiler option /LDd follows /MTd, /MDd or /MLd, _DEBUG is not defined. This happens only if it is compiled from the command line. The IDE adds this definition by default in the project settings for debug build.
Specify /LDd before /MTd, /MDd or /MLd.
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.
When you use one of the compiler options /MTd, /MDd or /MLd, the symbol _DEBUG is automatically defined. However, if /LDd follows any of these options on the compiler command line, then _DEBUG is not defined automatically.
// x.cpp or x.c
// Compile options needed to reproduce: /c /MTd /LDd
// Compile options for workaround: /c /LDd /MTd
#ifdef _DEBUG
# pragma message("_DEBUG is defined")
#else
# pragma message("_DEBUG is not defined")
#endif
Additional query words:
Keywords : kbtool kbCompiler kbVC400bug kbVC410bug kbVC420bug kbVC500bug kbVC600bug
Version : winnt:4.0,4.1,4.2,5.0,6.0
Platform : winnt
Issue type : kbbug
Last Reviewed: May 17, 1999