2013-09-06 6 views
10

Ich kompiliere eine 3rd-Party-Bibliothek und nicht kümmern, um die Warnungen in der Bibliothek zu beheben, aber ich möchte nicht, dass sie die Probleme Bereich in Qt Creator.Deaktivieren -Wall Compiler Warnungen in einem Qt-Projekt?

Ich habe versucht, den Ratschlag here, aber es gibt keine Compiler-Flag zu deaktivieren -Wall, nachdem es aktiviert wurde, wie mit -Wno-enum-compare.

Nach this lesen, habe ich versucht, wie so die Flagge zu entfernen:

CFLAGS -= -Wall 

Aber das entweder nicht funktioniert hat. Also habe ich versucht this advice:

QMAKE_CXXFLAGS_WARN_OFF -= -Wall 

Immer noch nichts.

So sah ich in der generierten Makefile und fanden diese:

CFLAGS  = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES) 
CXXFLAGS  = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES) 

Also versuchte ich die Fahne aus diesen beiden Variablen zu entfernen:

CFLAGS -= -Wall 
CXXFLAGS -= -Wall 

Immer noch nichts. Wie soll man diese Compilerflagge entfernen ?!

Antwort

21

Die einfachste Lösung ist:

CONFIG += warn_off 

Dank peppe in den Kommentaren.

Alternative Lösung

diese hint Im Anschluss an.

Die -Wall Flagge wird in den Makefile durch diese beiden Variablen eingefügt:

QMAKE_CFLAGS_WARN_ON 
QMAKE_CXXFLAGS_WARN_ON 

So -Wall zu entfernen, müssen Sie es aus beide dieser Variablen zu entfernen.

QMAKE_CFLAGS_WARN_ON -= -Wall 
QMAKE_CXXFLAGS_WARN_ON -= -Wall 

The associateddocumentation ist, ehrlich gesagt, eher fehlt.

+11

Der nicht-hackische Weg ist wahrscheinlich 'CONFIG + = warn_off'. Als eine allgemeine Art des Debuggens "wo ist diese Variable/Option/... kommt her?" Können Sie 'qmake -d',' qmake-d-d', etc .; Dies wird Ihnen viele nützliche Hinweise geben. – peppe

+0

@peppe Super - danke. Das war mir völlig unbekannt! –

8

Als „peppe“ auch im Kommentar erwähnt, die Qt'ish Weise ist dies entsprechend die Dokumentation unter: CONFIG += warn_off/on

warn_on: Der Compiler ausgeben sollte, so viele Warnungen wie möglich. Dies wird ignoriert, wenn warn_off angegeben ist.

warn_off: Der Compiler sollte so wenige Warnungen wie möglich ausgeben.

Die CONFIG-Dokumentation finden Sie in here.

Die Variablen QMAKE_CXXFLAGS_WARN_OFF/ON müssen nicht explizit festgelegt werden, da sie von qmake verarbeitet werden.