posso compilare il mio progetto QT5-based con le avvertenze abilitati g ++:Come includere le intestazioni di Qt con -isystem (intestazioni di sistema) con qmake e qt5?
# project.pro file
QMAKE_CXXFLAGS += -std=c++11 -Wall -Wextra -Wconversion -Weffc++
Quando si compila, Qt produce un sacco di avvertimenti (1000+ con un solo semplice widget), si nascondono gli avvertimenti dal mio codice.
Come indicare a qmake di utilizzare lo switch -isystem
quando si specificano le intestazioni di Qt anziché -I
per sopprimere gli avvisi? Non voglio disattivare gli avvisi. Voglio tenerli per il mio codice.
NOTA: ho controllato this SO question ma nel mio caso non funziona, potrebbe essere solo per Qt4, io uso Qt5.
NOTA 2: questo è un acknowledged bug, sto cercando una soluzione alternativa. Uso una versione recente di qmake compilata dai sorgenti 5.4.1, questa versione passa le intestazioni di sistema da /include
e /usr/include
come intestazioni di sistema ma non le intestazioni di Qt.
NOTA 3: so che CMake avrebbe funzionato ma questa non è un'opzione per me.
Il "workaround" è di inviare una patch a qmake che aggiunge il supporto per questo.O per passare a cmake, dove spero che questo sia un problema risolto. –
Ho una versione recente di qmake (modifico la domanda per menzionarlo). Ho provato con CMake: 'include_directories (SYSTEM dir1 dir2)' questo funziona, ma ho bisogno di rimanere con qmake. Grazie –