2012-10-11 26 views
16

que tratan de ignorar las advertencias procedentes de algunos archivos de cabecera 3ª fiesta como esta:Suprimir -Wunknown-pragmas de advertencia en GCC

#pragma GCC diagnostic push 
#pragma GCC diagnostic ignored "-Wunknown-pragmas" 
#pragma GCC diagnostic ignored "-Wreorder" 

#include <some_3rd_party_header.h> 

#pragma GCC diagnostic pop 

Este enfoque parece funcionar en general, pero no por las advertencias pragma desconocidos (I todavía obtenerlos).

¿Por qué funciona para otras advertencias pero no para esta? ¿Alguien puede confirmar este comportamiento?

Estoy usando g ++ (versión 4.7.1) con -Wall y -std=c++0x en Debian.

+1

Hmm, respeta la supresión de gcc, g ++ no lo hace. ¿Es '-Wno-unknown-pragmas' una opción? –

+0

@DanielFischer Supongo que quiere decir como un parámetro de línea de comandos para el compilador? Esto desactivaría la advertencia también en mi propio código que no quiero. –

+1

Bien, comprensible. Tal vez podrías intentar incluir estos encabezados como encabezados del sistema, como se sugiere [aquí] (http://stackoverflow.com/q/1867065/1011995). –

Respuesta

9

Me he encontrado con esta molestia también. De acuerdo con la página de manual GCC -Wall enciende -Wunknown-pragmas para usted, por lo que sólo desactivar manualmente usando -Wno-unknown-pragmas después -Wall

Cuestiones relacionadas