|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
/Wn, /WX, /Wall, /wnn, /wdn, /wen, /won (Warning Level)
/Wn /WX /Wall /wnn /wdn /wen /won
These options specify how the compiler generates warnings for a given compilation.
|/Wn||Specifies the highest level of warning generated by the compiler. Valid warning levels for n range from 0 to 4:
For a new project, it may be best to use /W4 in all compilations. This will ensure the fewest possible hard-to-find code defects.
|/Wall||Enables all warnings, including those disabled by default. See Compiler Warnings That Are Off By Default.|
|/WX||Treats all warnings as errors. For a new project, it may be best to use /WX in all compilations; resolving all warnings will ensure the fewest possible hard-to-find code defects.|
|/wnn||Specifies the level for a particular warning. The first parameter sets the warning level (same as /Wn) and the second parameter is the actual warning number.
|/wdn||Disables the specified compiler warning where n is the compiler warning number.
|/wen||Treats the specific compiler warning as an error where n is a compiler warning.
|/won||Reports the error only once where n is a compiler warning.
If you create a precompiled header (/Yc) with one of the /w options, any use of the precompiled header (/Yu) will cause those same /w options to be in effect again. You can override the /w setting in the precompiled header with another /w option at the command line.
Pragma directives in source code are unaffected by the /w option.
You can also use #pragma warning to control the level of warning reported at compile time.
The Build Errors documentation describes the warnings, indicates each warning's level, and indicates potential problems (rather than actual coding errors) with statements that may not compile as you intend.
To set this compiler option in the Visual Studio development environment
- Open the project's Property Pages dialog box. For details, see Setting Visual C++ Project Properties.
- Click the C/C++ folder.
- Click the General property page and modify the Warning Level or Treat Warnings as Errors properties.
- Click the Advanced property page and modify the Disable Specific Warnings property.
- For the remaining options, click the Command Line property page and type the compiler option in the Additional Options box.
To set this compiler option programmatically