我的环境:
我想用
-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
更改为-W3
来修改Qt的配置文件-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_CXXFLAGS_WARN_ON
文件中的.pro
)。 我使用qmake(通过Qt Creator),因此任何需要编辑生成的Visual Studio项目文件的解决方案都是 Not Acceptable 。
最佳答案
对项目文件所做的更改会将警告设置附加到预定义的现有变量中:
QMAKE_CXXFLAGS += -W4
您可以在变量前添加前缀,也可以在replace the existing warning variable setting之前添加自己的变量:
QMAKE_CXXFLAGS ~= s/-W3/-W4
关于c++ - 如何在Qt项目中指定-W4(Visual Studio)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54325997/