Cor*_*ein 10 c++ qt warnings qmake compiler-flags
我正在编译第三方库,并不关心修复库中存在的警告,但我不希望它们污染Qt Creator中的" 问题"窗格.
我已经尝试过遵循这里的建议,但是-Wall在启用后没有编译器标志可以禁用,例如-Wno-enum-compare.
看完这个,我试图消除标志,如下所示:
CFLAGS -= -Wall
Run Code Online (Sandbox Code Playgroud)
但这也不起作用.所以我尝试了这个建议:
QMAKE_CXXFLAGS_WARN_OFF -= -Wall
Run Code Online (Sandbox Code Playgroud)
依然没有.
所以我查看了生成Makefile并发现了这个:
CFLAGS = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES)
CXXFLAGS = -pipe -g -fPIC -Wall -W -D_REENTRANT $(DEFINES)
Run Code Online (Sandbox Code Playgroud)
所以我尝试从这两个变量中删除标志:
CFLAGS -= -Wall
CXXFLAGS -= -Wall
Run Code Online (Sandbox Code Playgroud)
依然没有.你打算如何删除这个编译器标志?!
Cor*_*ein 24
最简单的解决方案是:
CONFIG += warn_off
Run Code Online (Sandbox Code Playgroud)
感谢佩佩的评论.
该-Wall标志被插入到Makefile由这两个变量:
QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_ON
Run Code Online (Sandbox Code Playgroud)
因此,要删除-Wall,您需要从这两个变量中删除它.
QMAKE_CFLAGS_WARN_ON -= -Wall
QMAKE_CXXFLAGS_WARN_ON -= -Wall
Run Code Online (Sandbox Code Playgroud)
warn_off 做到了那一点.