2008-09-25 12 views
40

Al desarrollar una aplicación C++, tuve que usar una biblioteca de terceros que produjo una gran cantidad de advertencias relacionadas con una directiva inofensiva #pragma que se usa.Cómo deshabilitar las advertencias de #pragma?

../File.hpp:1: warning: ignoring #pragma ident 
In file included from ../File2.hpp:47, 
       from ../File3.hpp:57, 
       from File4.h:49, 

¿Es posible desactivar este tipo de advertencias cuando se usa el compilador GNU C++?

Respuesta

18

¿Quizás vea GCC Diagnostic Pragmas? Alternativamente, en este caso, puede usar el combination of options que habilita -Wall, excluyendo -Wunknown-pragmas.

+0

Soy hablante nativo de inglés y esa página de GCC Diagnostic Pragmas es completamente ininteligible. –

90

Creo que se puede compilar con

-Wno-unknown-pragmas 

para suprimir estos.

+4

Gracias! Esto debe ser aceptado! Es el único (aquí) que trabaja con el compilador GCC C++. – Bitterblue

23

En GCC, compilar con -Wno-unknown-pragmas

en MS Visual Studio 2005 (esta pregunta no está etiquetada con gcc, así que estoy añadiendo esto por referencia), se puede desactivar a nivel mundial en el Proyecto Configuraciones-> C/C++ -> Avanzado. Introduzca 4068 en "Advertencias específicas Desactivar"

o puede agregar esto a cualquier archivo para desactivar las advertencias localmente

#pragma warning (disable : 4068) /* disable unknown pragma warnings */ 
6

Gracias a cada uno por la punta. En mi caso, trabajo con Qt Mingw. Necesito fijar la bandera de otra manera, en mi archivo .PRO:

QMAKE_CXXFLAGS_WARN_ON += -Wno-unknown-pragmas 
+2

Si está compilando el código C en lugar de C++ use QMAKE_CFLAGS_WARN_ON + = -Wno-unknown-pragmas – redteam316

Cuestiones relacionadas