2012-10-11 13 views
16

cerco di ignorare gli avvertimenti provenienti da alcuni file di intestazione 3 ° festa come questa:Sopprimere -Wunknown-pragma di avviso in 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 

Questo approccio sembra funzionare in generale, ma non per i warnings sconosciuti (I ancora li ottiene).

Perché funziona per altri avvisi ma non per questo? Qualcuno può confermare questo comportamento?

Sto usando g ++ (versione 4.7.1) con -Wall e -std=c++0x in Debian.

+1

Hmm, rispetta gcc la soppressione, g ++ non lo fa. '' -Wno-unknown-pragmas' un'opzione? –

+0

@DanielFischer Immagino che intendi come parametro della riga di comando per il compilatore? Questo disabiliterebbe l'avviso anche nel mio codice che non voglio. –

+1

Ok, comprensibile. Forse potresti provare a includere queste intestazioni come intestazioni di sistema, come suggerito [qui] (http://stackoverflow.com/q/1867065/1011995)? –

risposta

9

Ho incontrato anche questo fastidio. Secondo la pagina di manuale GCC -Wall accende -Wunknown-pragmas per voi, quindi basta disattivare manualmente utilizzando -Wno-unknown-pragmas dopo -Wall

Problemi correlati