Benutzer mit den meisten Antworten
Preprocessor definitions gesetzt, aber nicht definiert ?

Frage
-
Hallo,
ich habe für mein Projekt unter VS C++:
--> Project properties --> C++ --> Preprocessor --> Preprocessor definitions --> TEST_EXPORTS gesetzt.
Wenn ich dann in einer Header:
#if define(TEST_EXPORTS) # define EXPORTER Q_DECL_EXPORT # define EX_TEMPLATE2 #else # define EXPORTER Q_DECL_IMPORT # define EX_TEMPLATE2 extern #endif
ist die if abfrage falsch, also der oebre Zweig ist ausgegraut und der untere ist schwarz..Sollte doch andersherum sein?
Gruß Lespaul
- Verschoben Robert BreitenhoferModerator Freitag, 11. November 2011 15:14 Visual C++ (aus:Visual Studio)
Antworten
-
Wenn Du wirklich das so gemacht hast, wie Du oben geschrieben hast, dann ist es flasch. Es müsste so sein:
#if defined(TEST_EXPORTS) <...> #else <...> #endif
Es heisst #if defined(..), Du hast da das "d" vergessen
- Als Antwort vorgeschlagen Martin RichterModerator Mittwoch, 23. November 2011 07:05
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 23. November 2011 13:08
Alle Antworten
-
Wenn Du wirklich das so gemacht hast, wie Du oben geschrieben hast, dann ist es flasch. Es müsste so sein:
#if defined(TEST_EXPORTS) <...> #else <...> #endif
Es heisst #if defined(..), Du hast da das "d" vergessen
- Als Antwort vorgeschlagen Martin RichterModerator Mittwoch, 23. November 2011 07:05
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 23. November 2011 13:08
-
Kann auch sein, dass du #ifdef gemeint hast
#ifdef und #if defined sind das gleiche :-) Die eine Variante ist halt für schreibfaule die andere nicht:http://msdn.microsoft.com/de-de/library/2a1b21sf(v=vs.90).aspx