Kompilieren mit gcc 4.4.2 und WinXP Visual Studio C++ 2008Plattformübergreifend für Makros definieren #define __FUNCTION__ und __FUNC__
#if defined (WIN32)
#define __FUNCTION__ __func__
#endif
Wie ich möchte das Makro verwenden, um die Funktionsnamen angezeigt werden soll. Ich habe das oben genannte getan, also kann ich plattformübergreifend arbeiten und dasselbe func beim Kompilieren auf Linux oder Windows verwenden.
Allerdings, wenn ich auf WinXP bin Kompilieren ich die folgende Fehlermeldung erhalten:
__func__ undeclared identifier
Kann ich ein Makro wie diese nicht #define?
Vielen Dank für Ihre Anregungen,
Sie sollten #if defined (_MSC_VER) anstelle von #if defined (_WIN32) verwenden. Die Frage ist nicht, welches Betriebssystem Sie verwenden. Die Frage ist, welchen Compiler Sie verwenden. –