【发布时间】:2013-01-22 18:01:33
【问题描述】:
简介
前段时间我发现,迂腐的 GCC 密钥很有用,可以建议我编写更简洁的代码。 当我编写简单的控制台 C++ 应用程序并使用参数编译它时:
-Wall -Wextra -pedantic -Weffc++ -Wold-style-cast
-Wconversion -Winit-self -Wunreachable-code
(这里有关于所有这些的完整记录信息:Options to Request or Suppress Warnings、Options Controlling C++ Dialect)
问题
现在,我正在使用带有 MinGW 编译器的 Qt 4.8.4 来构建应用程序。
问题是当我添加到我的.pro-file 下一行时:
QMAKE_CXXFLAGS += -Wall -Wextra -pedantic -Weffc++ -Wold-style-cast
QMAKE_CXXFLAGS += -Wconversion -Winit-self
我收到了很多来自 Qt 来源的警告,但不是来自我的来源。
示例
上面在.pro-file 中写入参数的简单 Qt GUI 项目给出 517 个警告,例如:
D:\Qt\4.8.4\src\corelib\global\qglobal.h:981:警告:基类 'struct QIntegerForSize' 有一个非虚拟析构函数 [-Weffc++]
D:\Qt\4.8.4\src\corelib\tools\qpoint.h:174:警告:从 'int' 转换为 'float' 可能会改变其值 [-Wconversion]
...
等等。
问题
如何避免将迂腐参数应用于 Qt 的源代码,并仅在我的代码中使用该参数?
【问题讨论】:
标签: c++ qt gcc mingw compiler-warnings