GCC Warnungen für einige Zeilen Code deaktivieren
- 
					
					
					
					
 Ja, meinte ich. 
 Ach so.
 
- 
					
					
					
					
 #include "qt_pushwarning.h" // .... #include "qt_popwwarning.h" 
 
- 
					
					
					
					
 Sone schrieb: Ja, aber ich will ja dass es im CODE kürzer wird. Das C&P ist ja kein Problem. 
 
- 
					
					
					
					
 Ich ging jetzt davon aus, er meint den Code, den er damit instruieren möchte, nicht den Code, den man dort nicht sieht. 
 
- 
					
					
					
					
 Es gibt für GCC das _Pragmabuiltin, später zu einem#pragmaexpandiert.#define DO_PRAGMA_(a) _Pragma(a) #define DO_PRAGMA(a) DO_PRAGMA_(#a) #define DIAGNOSTIC_PUSH_1(a) DO_PRAGMA(GCC diagnostic push a) #define DIAGNOSTIC_PUSH_2(a,...) DIAGNOSTIC_PUSH_1(a) DIAGNOSTIC_PUSH_1(__VA_ARGS__) #define DIAGNOSTIC_PUSH_3(a,...) DIAGNOSTIC_PUSH_1(a) DIAGNOSTIC_PUSH_2(__VA_ARGS__) #define DIAGNOSTIC_PUSH_4(a,...) DIAGNOSTIC_PUSH_1(a) DIAGNOSTIC_PUSH_3(__VA_ARGS__) #define DIAGNOSTIC_PUSH_5(a,...) DIAGNOSTIC_PUSH_1(a) DIAGNOSTIC_PUSH_4(__VA_ARGS__) #define NUM_ARGS2(X,X5,X4,X3,X2,X1,N,...) N #define NUM_ARGS(...) NUM_ARGS2(0, __VA_ARGS__ ,5,4,3,2,1,0) #define DIAGNOSTIC_PUSH_N3(M, ...) M (__VA_ARGS__) #define DIAGNOSTIC_PUSH_N2(N, ...) DIAGNOSTIC_PUSH_N3(DIAGNOSTIC_PUSH_ ## N, __VA_ARGS__) #define DIAGNOSTIC_PUSH_N(N, ...) DIAGNOSTIC_PUSH_N2(N, __VA_ARGS__) #define DiagnosticPush(...) \ _Pragma("GCC diagnostic push") \ DIAGNOSTIC_PUSH_N(NUM_ARGS(__VA_ARGS__), __VA_ARGS__) #define DiagnosticPop() \ _Pragma("GCC diagnostic pop") DiagnosticPush("-Wall", "-Wextra", "-Wmissing-field-initializers", "-Wunused-parameter", "-Wunused-but-set-parameter") void f(); DiagnosticPop()Das ganze ist variadisch (bis zu 5 Parameter), d.h. DiagnosticPush("-Wall", "-Wextra", "-Weffc++")geht genauso. 
 
- 
					
					
					
					
 Ja, instruierer, das ist toll, vielen Dank!  # #
 Habs ein 'wenig' abgeändert und hinzugefügt.
 
- 
					
					
					
					
 Öhm, es gibt doch einen ganz einfachen Schalter, der GCC dazu bringt, Warnungen für Systemheader nicht anzuzeigen. Ist das nicht sogar default? Oder hast du die Qt-/Ogre-Header zu deinem Code kopiert? 
 
- 
					
					
					
					
 Ansonsten: GCC-Manual schrieb: The -isystem command line option adds its argument to the list of directories to search for headers, just like -I. Any headers found in that directory will be considered system headers. 
 
- 
					
					
					
					
 Gerade erst entdeckt, c-plusplus.net ist wohl ein wenig verbuggt was die anzeige von "ungelesene Nachrichten" angeht... Das ist auch super! Vielen Dank! Seh' ich mir an. 
 
- 
					
					
					
					
 Ja, das macht es für CodeBlocks wunderbar leicht: Mit dem neuesten Nightly folgendes machen: 
 Settings Compiler Compiler Entsprechenden Compiler auswählen Entsprechenden Compiler auswählen Other Settings (der Reiter ganz Rechts) Other Settings (der Reiter ganz Rechts) Advanced Options Advanced Options Others Others "Add header files search path (e.g. -I):" zu -isystem ändern "Add header files search path (e.g. -I):" zu -isystem ändern