【发布时间】:2015-05-28 17:44:01
【问题描述】:
我编译了基于 Qt5 的项目,并在 g++ 上启用了警告:
# project.pro file
QMAKE_CXXFLAGS += -std=c++11 -Wall -Wextra -Wconversion -Weffc++
编译时,Qt 会产生大量警告(仅一个简单的小部件就会产生 1000 多个警告),从而将警告隐藏在我的代码中。
如何告诉 qmake 在指定 Qt 的标头而不是 -I 时使用 -isystem 开关来抑制警告?我不想关闭警告,我想将它们保留在我的代码中。
注意:我检查了this SO question,但它在我的情况下不起作用,它可能只适用于 Qt4,我使用 Qt5。
注意 2:这是一个 acknowledged bug,我正在寻找解决方法。 我使用从源 5.4.1 编译的最新版本的 qmake,此版本传递来自 /include 的系统标头和 /usr/include 作为系统头文件,而不是 Qt 的头文件。
注意 3:我知道 CMake 可以工作,但这不是我的选择。
【问题讨论】:
-
“解决方法”是向 qmake 提交一个补丁以增加对此的支持。或者切换到 cmake,我希望这是一个已解决的问题。
-
我有一个最新版本的 qmake(我将编辑问题以提及这一点)。我尝试使用 CMake:
include_directories(SYSTEM dir1 dir2)这可行,但我需要坚持使用 qmake。谢谢