/w, /W0, /W1, /W2, /W3, /W4, /w1, /w2, /w3, /w4, /Wall, /wd, /we, /wo, /Wv, /WX (nivel de advertencia)
Especifica cómo el compilador genera advertencias para una compilación determinada.
Sintaxis
/w
/W0
/W1
/W2
/W3
/W4
/Wall
/Wv[:versión]
/WX
Advertencia de /w1
Advertencia de /w2
Advertencia de /w3
Advertencia de /w4
/wdwarning
/wewarning
/wowarning
Comentarios
Las opciones de advertencia especifican qué advertencias del compilador se mostrarán y el comportamiento de advertencia para toda la compilación.
Las opciones de advertencia y los argumentos relacionados se describen en las tablas siguientes:
| Opción | Descripción |
|---|---|
| /w | Suprime todas las advertencias del compilador. |
| /W0 /W1 /W2 /W3 /W4 |
Especifica el nivel de advertencias que va a generar el compilador. Los niveles de advertencia válidos oscilan entre 0 y 4: /W0 suprime todas las advertencias. Es equivalente a /w. /W1 muestra advertencias de nivel 1 (grave). /W1 es la configuración predeterminada en el compilador de la línea de comandos. /W2 muestra advertencias de nivel 1 y nivel 2 (significativo). /W3 muestra advertencias de nivel 1, nivel 2 y nivel 3 (calidad de producción). /W3 es la configuración predeterminada en el IDE. /W4 muestra advertencias de nivel 1, nivel 2 y nivel 3, y todas las advertencias de nivel 4 (informativo) que no están desactivadas de forma predeterminada. Se recomienda usar esta opción para proporcionar advertencias de tipo lint. Para un nuevo proyecto, puede ser mejor usar /W4 en todas las compilaciones. Esta opción ayuda a garantizar el menor número posible de defectos de código difíciles de encontrar. |
| /Wall | Muestra todas las advertencias mostradas por /W4 y todas las demás advertencias que /W4 no incluye, por ejemplo, las advertencias que están desactivadas de forma predeterminada. Para obtener más información, vea Advertencias del compilador desactivadas de forma predeterminada. |
| /Wv[:versión] | Muestra solo las advertencias introducidas en la versión del compilador de versión y anteriores. Puede usar esta opción para suprimir nuevas advertencias en el código al migrar a una versión más reciente del compilador. Le permite mantener el proceso de compilación existente mientras los corrige. La versión del parámetro opcional toma la forma nn[. mm[. bbbbb]], donde nn es el número de versión principal, mm es el número de versión secundaria opcional y bbbbb es el número de compilación opcional del compilador. Por ejemplo, use /Wv:17 para mostrar solo las advertencias introducidas en Visual Studio 2012 (versión principal 17) o anteriores. Es decir, muestra advertencias de cualquier versión del compilador que tenga un número de versión principal de 17 o menos. Suprime las advertencias introducidas en Visual Studio 2013 (versión principal 18) y versiones posteriores. De forma predeterminada, /Wv usa el número de versión del compilador actual y no se suprime ninguna advertencia. Para obtener información sobre qué advertencias se suprimen por versión del compilador, vea Advertencias del compilador por versión del compilador. |
| /WX | Trata todas las advertencias del compilador como errores. Para un nuevo proyecto, puede ser mejor usar /WX en todas las compilaciones; resolver todas las advertencias garantiza el menor número posible de defectos de código difíciles de encontrar. El vinculador también tiene una opción /WX. Para obtener más información, vea /WX (Tratar advertencias del enlazador como errores). |
Las siguientes opciones son mutuamente excluyentes entre sí. La última opción que se especifica de este grupo es la que se aplica:
| Opción | Descripción |
|---|---|
| /w1nnnn /w2nnnn /w3nnnn /w4nnnn |
Establece el nivel de advertencia para el número de advertencia especificado por nnnn. Estas opciones permiten cambiar el comportamiento del compilador para esa advertencia cuando se establece un nivel de advertencia específico. Puede usar estas opciones en combinación con otras opciones de advertencia para aplicar sus propios estándares de codificación para las advertencias, en lugar de las predeterminadas proporcionadas por Visual Studio. Por ejemplo, /w34326 hace que C4326 se genere como una advertencia de nivel 3 en lugar de como nivel 1. Si compila mediante la opción /w34326 y la opción /W2, no se genera la advertencia C4326. |
| /wdnnnn | Suprime la advertencia del compilador especificada por nnnn. Por ejemplo, /wd4326 suprime la advertencia del compilador C4326. |
| /wennnn | Trata la advertencia del compilador especificada por nnnn como un error. Por ejemplo, /we4326 hace que el compilador trate el número de advertencia C4326 como un error. |
| /wonnnn | Notifica la advertencia del compilador especificada por nnnn solo una vez. Por ejemplo, /wo4326 hace que la advertencia C4326 se informe solo una vez, la primera vez que la encuentra el compilador. |
Si usa cualquier opción de advertencia al crear un encabezado precompilado, mantiene esa configuración. El uso del encabezado precompilado vuelve a poner en vigor esas mismas opciones de advertencia. Para invalidar las opciones de advertencia del encabezado precompilado, establezca otra opción de advertencia en la línea de comandos.
Puede usar una directiva #pragma advertencia para controlar el nivel de advertencia que se notifica en tiempo de compilación en archivos de código fuente específicos.
Las directivas pragma de advertencia en el código fuente no se ven afectadas por la opción /w.
En la documentación de errores de compilación se describen las advertencias y los niveles de advertencia, e indica por qué es posible que determinadas instrucciones no se compilen como se pretende.
Para establecer las opciones del compilador en el entorno Visual Studio desarrollo
Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.
Para establecer las opciones /W0, /W1, /W2, /W3, /W4, /Wall, /Wv, /WXo /WX-, seleccione Propiedadesde configuración C/C++General.
Para establecer las opciones /W0, /W1, /W2, /W3,/W4o /Wall, modifique la propiedad Nivel de advertencia.
Para establecer las opciones /WXo /WX-, modifique la propiedad Tratar advertencias como errores.
Para establecer la versión de la opción /Wv, escriba el número de versión del compilador en la propiedad Versión de advertencia.
Para establecer las opciones /wdo /we, seleccione la página de propiedades Propiedades de configuraciónavanzadas de C/C++.
Para establecer la opción /wd, seleccione el control desplegable de propiedades Deshabilitar advertencias específicas y, a continuación, elija Editar. En el cuadro de edición del cuadro de diálogo Deshabilitar advertencias específicas, escriba el número de advertencia. Para escribir más de una advertencia, separe los valores mediante un punto y coma (;). Por ejemplo, para deshabilitar C4001 y C4010, escriba 4001;4010. Elija Aceptar para guardar los cambios y volver al cuadro de diálogo Páginas de propiedades.
Para establecer la opción /we, seleccione el control desplegable de propiedades Tratar advertencias específicas como errores y, a continuación, elija Editar. En el cuadro de edición del cuadro de diálogo Tratar advertencias específicas como errores, escriba el número de advertencia. Para escribir más de una advertencia, separe los valores mediante un punto y coma (;). Por ejemplo, para tratar C4001 y C4010 como errores, escriba 4001;4010. Elija Aceptar para guardar los cambios y volver al cuadro de diálogo Páginas de propiedades.
Para establecer la opción /wo, seleccione la página de propiedades Propiedades de configuraciónde la línea de comandos de C/C++. Escriba la opción del compilador en el cuadro Opciones adicionales.
Elija Aceptar para guardar los cambios.
Para establecer la opción del compilador mediante programación
Vea también
MSVC del compilador
MSVC sintaxis de línea de comandos del compilador