在 Visual Studio 2008 中禁用 Qt 的警告信息

5
我们使用VS 2008专业版和Qt Visual Studio插件开发Qt 4.8.4应用程序。我想将警告级别设置为4(所有警告),但仅针对我们自己的代码。如果我在项目属性下设置一个警告级别>=2,那么我们的#include中的Qt头文件会产生几百个警告。
不幸的是,似乎VS没有gcc的-isystem选项的等效物。我尝试使用#pragma warning(push,0)#pragma warning(pop)包含Qt #include,但效果有限。自动生成的moc_*.cpp文件仍然会导致Qt头文件中的代码警告。这也相当繁琐。
你有没有知道其他方法来实现这个目标?我很难相信所有Qt / MSVC用户都会关闭警告或在构建后浏览数百条无关的警告。

我目前使用Qt和其他库编译大部分代码(警告级别为1)。然而,我想将其提高,因为它已经让我吃过不少亏。 - drescherjm
2个回答

1

0
我只找到了一种方法解决这个问题:触碰几乎所有的Qt头文件,并在正确的位置包含#pragma warning(push, 0)#pragma warning(pop)。我尝试过一次,但在下一个Qt版本发布后放弃了。
另一种减少警告的可能性是在正确的qmake.conf文件中禁用特定的警告(例如,在mkspecs/win32-msvc2010中)。
我已经修改了这个文件中的一些行:
QMAKE_CFLAGS_WARN_ON    = -W4 -w34100 -w34189 -wd4127 -wd4512
QMAKE_CFLAGS_RELEASE    = -Ox -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -Ox -MD -Zi
QMAKE_CXXFLAGS_WARN_ON  = $$QMAKE_CFLAGS_WARN_ON

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接