是否有编译器开关在Visual Studio中启用单个警告?
我问的原因是我想启用警告C4265,它默认是关闭的。我的搜索只是找到了关闭警告的方法。
即使是名为How to: Enable or Disable Compiler Warnings的微软页面仍然只提到禁用。
答案 0 :(得分:23)
#pragma warning(default:4265)
似乎会将警告设置为默认设置(将被禁用),但事实并非如此。它打开了。
http://msdn.microsoft.com/en-us/library/2c8f766e%28VS.80%29.aspx
你也可以这样做:
#pragma warning(X:4265)
// where X is the warning level(1,2,3 or 4) that you want this warning to be generated at
答案 1 :(得分:23)
如果要在项目设置中打开(或关闭),则必须转到:
Configuration Properties -> C/C++ -> Command Line
然后在其他选项下,您可以输入:
/w3####
将警告设置为3级,从而启用它;或者您可以输入/wd####
来禁用警告。
答案 2 :(得分:1)
使用:
#pragma warning(default:4265)
并至少使用/W3
进行编译。
以下是Microsoft的一个明确示例:
http://msdn.microsoft.com/en-us/library/wzxffy8c(v=VS.90).aspx
答案 3 :(得分:1)
让MatthäusBrandl对#pragma warning
的评论更加明显:
如果您的警告级别低于3,则必须使用以下语法:
#pragma warning (<warning level>: 4265)
只有在使用3级或更高级别编译时才能执行
#pragma warning (default: 4265)
因为警告4265,default
表示第3级(见MSDN)。
documentation for #pragma warning
读取:
warning-specifier
含义
1, 2, 3, 4
将给定级别应用于指定的警告。这也会打开默认情况下关闭的指定警告。
default
将警告行为重置为其默认值。这也会打开默认情况下关闭的指定警告。警告将以默认的,记录的级别生成。