warnings suppress-warnings sunstudio

warnings - SunStudio C++ compilador pragma para desactivar las advertencias?



suppress-warnings (4)

El STLport incluido con SunStudio11 genera muchas advertencias. Creo que la mayoría de los compiladores tienen una forma de desactivar las advertencias de ciertos archivos fuente, como esta:

Sun C

#pragma error_messages off #include <header.h> // ... #pragma error_messages on

gcc

#pragma warning(push, 0) #include <header.h> // ... #pragma warning(pop)

¿Cómo se hace esto en el compilador SunStudio C ++? (por cierto, los pragmas de sunstudio C no funcionan en sunstudio C ++)


Si prefiere usar una opción de línea de comando que #pragmas, una respuesta simple es que puede usar -erroff=%all on your compile line.

Puede suprimir mensajes de advertencia específicos con -erroff =% tag

Puede imprimir las etiquetas de los mensajes de advertencia agregando -errtags a su línea de compilación. Luego puede definir un conjunto de valores separados por comas para -erroff que suprimen solo esas etiquetas.

Consulte http://docs.oracle.com/cd/E19205-01/820-7599/bkapa/index.html para obtener más información.

Tenga en cuenta que la actualización 1 de Sun Studio 12 ya está disponible, y estoy haciendo referencia al documento SS12u1 aquí.


No puedo evitar desactivar las advertencias, pero la última vez que miré a SunStudio, incluía dos STL, uno más antiguo para compatibilidad con versiones anteriores de compilador y STLport. Puede valer la pena verificar si está utilizando STLport antes de tratar de desactivar las advertencias.


En SunStudio 12, los mensajes de error #pragma funcionan como se documenta en el manual del usuario de C.

Puedes ver las etiquetas con la opción -errtags = yes, y usarla así:

// Disable badargtypel2w: // String literal converted to char* in formal argument #pragma error_messages (off, badargtypel2w )

y luego compilar con CC (el compilador de C ++).


agregue -w a su $ CC o cualquier var que use.