2012-03-05 12 views
8

En mi código de Visual C++ quiero tener /WX - "tratar advertencias como errores". Esto me hace ocuparme de cada advertencia, incluyendo C4996 - "X fue declarado obsoleto", que no quiero abordar - No quiero cambiar el código en este momento y no quiero deshabilitar C4996 para que permanezca en la salida. De manera ideal, me gustaría tener algo como:¿Puedo excluir algunas advertencias específicas de "tratar las advertencias como errores" sin deshabilitarlas?

#pragma warning(ExcludeFromWX:4996) 

de manera que todas las advertencias a menos que éste se tratan como errores cuando se utiliza /WX y esta advertencia es sólo muestran y compilación continúa.

¿Es posible obtener dicho comportamiento?

+0

eso no es posible. –

Respuesta

2

Es posible que pueda restablecer la advertencia especificada utilizando el siguiente pragma. No he probado, aunque y que no he mencionado intentar esto:

ACTUALIZACIÓN Cambio del nivel de advertencia debería suceder

#pragma warning(4 : 4996) 

esto no funciona:

#pragma warning(default : 4996) 
+0

Esto no afectará a '/ WX' - esto restablece el nivel de advertencia al predeterminado y activa la advertencia. – sharptooth

+0

ah ok Solo tuve éxito al establecer el nivel de advertencia con #pragma warning (4: ...), actualicé mi respuesta por encima de – Alex

+0

No lo entiendo. ¿Cómo ayudará eso contra la compilación de detención '/ WX'? – sharptooth

Cuestiones relacionadas