介绍
前段时间我发现,迂腐的 GCC 密钥很有用,可以建议我编写更简洁的代码。当我编写简单的控制台 C++ 应用程序并使用参数编译它时:
-Wall -Wextra -pedantic -Weffc++ -Wold-style-cast
-Wconversion -Winit-self -Wunreachable-code
(这里是关于它们的完整文档信息:请求或抑制警告的选项,控制 C++ 方言的选项)
问题
现在,我使用带有 MinGW 编译器的 Qt 4.8.4 来构建应用程序。问题是当我添加到我的.pro
-file 下一行时:
QMAKE_CXXFLAGS += -Wall -Wextra -pedantic -Weffc++ -Wold-style-cast
QMAKE_CXXFLAGS += -Wconversion -Winit-self
我收到了很多来自 Qt 来源的警告,但不是来自我的来源。
例子
上面在 -file 中写入参数的简单 Qt GUI 项目.pro
会给出 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 的源代码,并且仅在我的代码中使用该参数?