c++ - 在 Qt 项目中禁用 -Wall 编译器警告?

标签 c++ qt warnings qmake compiler-flags

我正在编译第 3 方库并且不关心修复库中存在的警告,但我不希望它们污染 Qt Creator 中的问题 Pane 。

我已尝试遵循建议 here , 但在 -Wall 启用后没有禁用编译器标志,例如 -Wno-enum-compare

看完this ,我试过像这样删除标志:

CFLAGS -= -Wall

但这也没有用。所以我尝试了 this advice :

QMAKE_CXXFLAGS_WARN_OFF -= -Wall

仍然没有。

所以我查看了生成的 Makefile 并发现了这个:

CFLAGS        = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS      = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES)

所以我尝试从这两个变量中删除标志:

CFLAGS -= -Wall
CXXFLAGS -= -Wall

仍然没有。你应该如何删除这个编译器标志?!

最佳答案

最简单的解决方案是:

CONFIG += warn_off

感谢评论中的 peppe。

说明

-Wall 标志通过以下两个变量插入到 Makefile 中:

QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_ON

因此,要删除 -Wall,您需要从这两个变量中删除它。

QMAKE_CFLAGS_WARN_ON -= -Wall
QMAKE_CXXFLAGS_WARN_ON -= -Wall

warn_off 就是这样做的。

关于c++ - 在 Qt 项目中禁用 -Wall 编译器警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18667291/

相关文章:

c++ - 如何在 C 中定义函数指针数组

c++ - 在 QT 中,是否有用于 double、float、int... 等的动态数组,即 QDoubleArray?

c++ - 如何在Qt中自动增加/减少标签中的文字大小

c++ - 传递数组结构作为引用 C++

c++ - 类对象的 vector

c++ - public 和 private 对对象的内存布局有影响吗?

QT、wxwidget、MFC

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

c++ - 抑制非平凡无用的警告 "control may reach end of non-void function"

c# - 如果有意隐藏,请使用 new 关键字