2012-07-26 25 views
6

से फ़ाइल के लिए चेतावनियों को दबाने के लिए कैसे करें मैं अपने क्यूटी प्रोजेक्ट में जीसीसी -Weffc++ विकल्प का उपयोग करता हूं। क्यूटी हेडर से चेतावनियों को दबाने के लिए मैं QMAKE_CXXFLAGS += -isystem $(QTDIR)\include जोड़ता हूं।
लेकिन यह सब चेतावनी को दबाने नहीं है, मैं अभी भी से कष्टप्रद चेतावनी वर्ग QUuid क्योंकि $(QTDIR)\include\QtCore\quuid.h
फ़ाइल
..\..\src\corelib\plugin\quuid.h शामिल मिलता है।
मैं
QMAKE_CXXFLAGS += -isystem $(QTDIR)\src
और
QMAKE_CXXFLAGS += -isystem $(QTDIR)\src\corelib\plugin
जोड़ने की कोशिश की, लेकिन यह मदद नहीं की। क्या इसे ठीक करने का कोई तरीका है?हेडर

+0

मैं 'जी के साथ' Qt' फाइलों से कोई चेतावनी नहीं मिलता है ++ ', मानते हैं कि आपका मतलब है 'जी ++'? – cmannett85

+0

हां, मेरा मतलब है 'जी ++'। शायद यह क्यूटी संस्करण या मंच पर निर्भर करता है? – WalterSullivan

+0

अपना 'क्यूटी' संस्करण और मंच पोस्ट करें। साथ ही, क्या आपने खुद को 'क्यूटी' बनाया है, या यह पूर्व-निर्मित (विंडोज डाउनलोड, या आपके पैकेज मैनेजर से) आया है? – cmannett85

उत्तर

8

आपको प्रत्येक निर्देशिका को अलग से दबाने की आवश्यकता है। उदाहरण अपने प्रोजेक्ट से:

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" 

या, सटीक क्यूटी मॉड्यूल आप सक्षम है इसके बाद के संस्करण को स्वचालित करने के:

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" 
+0

और एक गैर क्यूटी परियोजना से? – lalebarde

+0

QMAKE_CXXFLAGS यह मेकफ़ाइल में CXXFLAGS के बराबर है। – dismine