> >> > \runtime-link-dynamic\execution_monitor.obj > >> >> ### mwcc Compiler: > >> >> # File: ..\libs\test\src\execution_monitor.cpp > >> >> # ----------------------------------------------- > >> >> # 157: case _CRT_ASSERT: > >> >> # Error: ^^^^^^^^^^^ > >> >> # undefined identifier '_CRT_ASSERT' > >> >> ### mwcc Compiler: > >> >> # 161: case _CRT_ERROR: > >> >> # Error: ^^^^^^^^^^ > >> >> # undefined identifier '_CRT_ERROR' > >> > > >> > This one appears to be caused by the fact that metrowerks > >> tools does not > >> > define the symbol _DEBUG in debug mode > >> > >> Why don't you fix that one, too? > >> _DEBUG is an MSVC-specific symbol. > > > > MSVC toolset defines it. > > I see no evidence to support that claim. > > The msvc compiler flags which turn on debug symbols, etc., also cause > _DEBUG to be defined. The toolset never touches "_DEBUG".
Whatever. The net result is that C runtime debug hooks are gets defined in debug mode. > > While metrowerks don't. Do you want me to fix the latter? > > I don't think I want you to "fix" it. As a user, you're not allowed > to #define _DEBUG, since that symbol is reserved to the > implementation. > > > Where would be the best place to put debug specific definitions? > > #ifndef NDEBUG > ... > #endif I am already doing this in mycode. But it only hides the problem. Metrowerks has the header <crtdbg.h> similar to MSVC one. If you will take a look into this header you see that C runtime debug hooks (_CRT_ERROR is part if this API) are gets defined if _DEBUG is defined. I think that it is natural to assume that debug hooks should be defined in debug mode. So I still believe that some compiler option is missing and that needs to be fixed. Gennadiy. _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost