2013-02-07 21 views
1

介紹地塊將迂腐GCC鍵時警告在QT項目

前一段時間我發現,那個迂腐GCC鍵是有用的,並可以建議我寫乾淨的代碼。 當我編寫簡單的控制檯C++應用程序,並與參數進行編譯:

-Wall -Wextra -pedantic -Weffc++ -Wold-style-cast 
-Wconversion -Winit-self -Wunreachable-code 

(在這裏是完全記錄信息有關所有的人:Options to Request or Suppress WarningsOptions Controlling C++ Dialect


問題

現在,我使用QG 4.8.4和MinGW編譯器來構建應用程序。 的問題是,當我添加到我的.pro -file下一行:

QMAKE_CXXFLAGS += -Wall -Wextra -pedantic -Weffc++ -Wold-style-cast 
QMAKE_CXXFLAGS += -Wconversion -Winit-self 

我警告從Qt的來源有哪些呢的很多,而不是從我的消息來源。


與參數

簡單Qt的GUI項目在.pro -file寫以上給出像517級的警告:

d:\ Qt的\ 4.8.4 \ SRC \ corelib的\ global \ qglobal.h:981:warning:base class'struct QIntegerForSize < 4>'有一個非虛擬析構函數[-WeffC++]

D:\ Qt \ 4.8.4 \ src \ corelib \工具\ qpoint.h:174:警告:轉換從 '詮釋' '浮動' 可能會改變其值-Wconversion]

...

等。


問題

如何避免將迂腐參數Qt的來源,並使用該參數只在我的代碼?

回答

4

如果使用GCC的-isystem標誌將它們標記爲系統標題,則不會看到警告。 (另見http://gcc.gnu.org/onlinedocs/cpp/System-Headers.html)。

+1

是的!你是完全正確的! 在我的情況下(在Windows上)我按照需要添加了 QMAKE_CXXFLAGS + = -isystem「D:\\ Qt \\ 4.8.4 \\ include」 QMAKE_CXXFLAGS + = -Wall -Wextra -pedantic -Wold-style-cast QMAKE_CXXFLAGS + = -Wconversion -Winit-self 到我的'.pro'文件。 非常感謝! – troyane