ich kompilieren meine QT5-basiertes Projekt mit auf g aktiviert Warnungen ++:Wie Qt-Header mit -Isystem (System-Header) mit qmake und QT5 enthalten?
# project.pro file
QMAKE_CXXFLAGS += -std=c++11 -Wall -Wextra -Wconversion -Weffc++
Beim Kompilieren erzeugt Qt viele Warnungen (1000+ mit nur einem einfachen Widget), die Warnungen von meinem Code versteckt.
Wie kann qmake angewiesen werden, den -isystem
-Schalter zu verwenden, wenn die Qt-Header anstelle von -I
angegeben werden, um die Warnungen zu unterdrücken? Ich möchte die Warnungen nicht deaktivieren. Ich möchte sie für meinen Code behalten.
HINWEIS: Ich überprüfte this SO question, aber es funktioniert nicht in meinem Fall, es könnte nur für Qt4 sein, verwende ich Qt5.
HINWEIS 2: Dies ist ein acknowledged bug, ich bin auf der Suche nach einem Workaround. Ich benutze eine aktuelle Version von qmake aus Quellen 5.4.1, diese Version übergibt System-Header von /include
und /usr/include
als System-Header, aber nicht die Qt-Header.
HINWEIS 3: Ich weiß CMake würde funktionieren, aber das ist keine Option für mich.
Der "Workaround" ist, einen Patch an qmake zu senden, das Unterstützung dafür hinzufügt.Oder um zu cmake zu wechseln, wo ich hoffe, dass das ein gelöstes Problem ist. –
Ich habe eine aktuelle Version von qmake (Ich werde die Frage bearbeiten, um dies zu erwähnen). Ich habe versucht mit CMake: 'include_directories (SYSTEM dir1 dir2)' das funktioniert, aber ich muss bei qmake bleiben. Danke –