Jos*_*öer 5 c++ qt visual-studio-2008 visual-studio
我们使用VS 2008 Professional和Qt Visual Studio加载项来开发Qt 4.8.4应用程序.我想将警告级别设置为4(所有警告),但仅限于我们自己的代码.如果我在项目属性下设置了一个> = 2的警告级别,我会从Qt头文件中获得几百个警告#include.
不幸的是,似乎VS没有相当于gcc的-isystem选项.我曾尝试在Qt #include之间封闭#pragma warning(push, 0)并#pragma warning(pop)取得有限的成功.自动生成的moc _*.cpp文件仍然会导致有关Qt头文件中代码的警告.这也很麻烦.
你知道其他任何方法吗?我发现很难相信所有Qt/MSVC用户在建立之后都会发出警告,或者浏览数百个无关的警告.
我发现只有一种方法可以做到这一点:触摸几乎每个 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
Run Code Online (Sandbox Code Playgroud)