在Qt中应用迂腐的GCC键进行投射时的很多警告

时间:2013-02-07 09:28:45

标签: c++ qt gcc mingw compiler-warnings

简介

前段时间我发现,那些迂腐的GCC密钥很有用,可以建议我编写更干净的代码。 当我编写简单的控制台C ++应用程序并使用参数编译它时:

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

(以下是有关所有这些内容的完整文档信息:Options to Request or Suppress WarningsOptions Controlling C++ Dialect


问题

现在,我正在使用Qt 4.8.4和MinGW编译器来构建应用程序。 问题是,当我添加到我的.pro - 文件的下一行:

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

我得到了一个很多的警告来自Qt的来源,但不是来自我的来源。


示例

上面在.pro中编写的带有参数的简单Qt GUI项目 - 文件提供了517个警告,如:

  

D:\ Qt \ 4.8.4 \ src \ corelib \ global \ qglobal.h:981:警告:基类'struct QIntegerForSize< 4>'有一个非虚拟析构函数[-Weffc ++]

     

D:\ Qt \ 4.8.4 \ src \ corelib \ tools \ qpoint.h:174:警告:从'int'转换为'float'可能会改变其值[-Wconversion]

     

...

等等。


问题

如何避免将迂腐参数应用于Qt的源,并仅在我的代码中使用该参数?

1 个答案:

答案 0 :(得分:4)

如果使用GCC的-isystem标记将它们标记为系统标题,则不会看到警告。 (另见http://gcc.gnu.org/onlinedocs/cpp/System-Headers.html)。