2013-02-07 17 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