我的环境:
我想用-W4
而不是默认的-W3
来编译C ++项目,所以我将这一行添加到了.pro
文件中:
QMAKE_CXXFLAGS += -W4
但是,然后,我得到了许多这样的警告(我想每个编译单元都会收到一个警告):
cl : Command line warning D9025 : overriding '/W4' with '/W3'
从命令行中,我可以看到命令行确实包含-W3
和-W4
(按此顺序)。
因此,我的问题:如何交换-W3
和-W4
的顺序(因此-W4
会优先于-W3
)?
请注意,这不起作用:我试图通过将变量C:\Qt\5.6.2\msvc2015_64\mkspecs\common\msvc-desktop.conf
的值从QMAKE_CFLAGS_WARN_ON
更改为{{来修改Qt的配置文件-W3
1}},并且没有将-W4
添加到我的-W4
文件中的QMAKE_CXXFLAGS
中,但这导致库生成许多(数千个)警告。我还尝试在我的.pro
文件中将-W4
附加到QMAKE_CXXFLAGS_WARN_ON
(而不是QMAKE_CXXFLAGS
)上,得到相同的结果(来自库的数千条警告)。
还要注意,如果我将.pro
(而不是-Wall
)添加到-W4
,则:
QMAKE_CXXFLAGS
是
然后在命令行上依次-Wall
-W3
更改为-W3
(或将-W4
附加到
msvc-desktop.conf
中的-W4
。我使用qmake(通过Qt Creator),因此任何需要编辑生成的Visual Studio项目文件的解决方案都是不可接受的。
答案 0 :(得分:1)
对项目文件的更改将警告设置添加到现有变量中,该变量是预定义的:
QMAKE_CXXFLAGS += -W4
您可以在变量前添加前缀,也可以replace the existing warning variable setting后面加上自己的变量:
QMAKE_CXXFLAGS ~= s/-W3/-W4