使用 Visual Studio C++ 2013,我有很多警告 C4100:未引用的形式参数,我想禁用它。对于 Debug|Release 配置,我在项目中的“禁用特定警告”中添加了 4100,但不幸的是 VS 仍然输出警告。
我正在使用 VS2008,并且禁用特定警告正在工作,但现在使用 VS2013,它没有。我做错了什么?
编辑:
编译器命令行:
/GS /analyze- /W3 /wd"4100" /Zc:wchar_t /I [...] /Zi /Gm- /Od /Fd".\" /fp:precise /D "_WIN32_WINNT=0x0601" /D "_CRT_SECURE_NO_WARNINGS" /D [...] /errorReport:prompt /WX- /Zc:forScope /GR /Gd /Oy- /MDd /Fa"debug\" /EHsc /nologo /Fo"debug\" /Fp"debug\project1.pch"
其他选项:
-Zm200 -w34100 -w34189 /MP
最佳答案
这让我发疯了一段时间。我的问题是 Qt 的 win32-msvc2013 的默认 qmake.conf(在 qtdir\mkspecs 下查看)包含以下行:
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON -w34100 -w34189
您没有说您使用的是 Qt,但 -w34100 参数设置警告 4100 在 W3 级别而不是 W4 级别可见。这将优先于 -wd4100,因此您仍会看到警告。对于我们这些使用 qt 的人,您可以将 QMAKE_CXXFLAGS_WARN_ON -= -w34100 添加到您的 .pro 文件或删除 mkspecs 文件夹中的参数。
关于visual-studio - 为什么禁用在 Visual Studio 中不起作用的特定警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20402722/