Ich verwende GCC -Weffc++
Option in meinem Qt-Projekt. Um Warnungen von Qt-Headern zu unterdrücken, füge ich QMAKE_CXXFLAGS += -isystem $(QTDIR)\include
hinzu.
Aber diese Unterdrückung nicht alle Warnungen, erhalte ich immer noch ärgerlich Warnungen von Klasse QUuid weil $(QTDIR)\include\QtCore\quuid.h
Datei
..\..\src\corelib\plugin\quuid.h
enthält.
Ich versuchte
QMAKE_CXXFLAGS += -isystem $(QTDIR)\src
und
QMAKE_CXXFLAGS += -isystem $(QTDIR)\src\corelib\plugin
hinzufügen, aber es hat nicht geholfen. Gibt es eine Möglichkeit, das zu beheben?So unterdrücken Sie Warnungen für die Datei aus dem Header
6
A
Antwort
8
Sie müssen jedes Verzeichnis einzeln unterdrücken. Beispiel aus meinem Projekt:
QMAKE_CXXFLAGS += -isystem "$$[QT_INSTALL_HEADERS]/qt5" -isystem "$$[QT_INSTALL_HEADERS]/qt5/QtWidgets" \
-isystem "$$[QT_INSTALL_HEADERS]/QtXml" -isystem "/usr/include/qt5/QtGui" \
-isystem "$$[QT_INSTALL_HEADERS]/QtCore"
Oder die oben für die genaue Qt-Module automatisieren Sie aktiviert haben:
for (inc, QT) {
QMAKE_CXXFLAGS += -isystem \"$$[QT_INSTALL_HEADERS]/Qt$$system("echo $$inc | sed 's/.*/\u&/'")\"
}
# Still need this separately:
QMAKE_CXXFLAGS += -isystem "$$[QT_INSTALL_HEADERS]/qt5"
Ich bekomme keine Warnungen von 'Qt' Dateien mit' g ++ ', Angenommen du meinst 'g ++'? – cmannett85
Ja, ich meine 'g ++'. Vielleicht hängt es von der Qt Version oder Plattform ab? – WalterSullivan
Veröffentlichen Sie Ihre 'Qt' Version und Plattform. Haben Sie 'Qt' selbst erstellt, oder kam es bereits vorgefertigt (ein Windows-Download oder von Ihrem Paketmanager)? – cmannett85