2009-11-18 9 views
2

J'ai une section de code qui utilise une bibliothèque Boost qui se traduit par un grand nombre de ces types de messages d'avertissement:Suppression des avertissements pour un bloc de code utilisant gcc 4.1.2?

class x has virtual functions but non-virtual destructor 

Avec g ++ 4.1.2, comment puis-je désactiver temporairement les avertissements pour cette codeblock puis leur permettre encore après. Tout ce que j'essaie (pragma gcc diagnostic, etc) semble être seulement supporté par une version plus récente de g ++.

Comment supprimer uniquement ces avertissements?

+0

La fixation des avertissements dans votre code n'est pas une option? La condition (fonctions virtuelles mais destructeur non virtuel) pointe généralement vers une erreur de conception ... – DevSolar

+0

Ce n'est pas dans mon code, c'est en boost ... – Dan

+1

Par intérêt, quelle bibliothèque Boost est-ce? Et quelle version? –

Répondre

3

Jetez un coup d'œil au -Wno-non-virtual-dtor.

Vous pouvez restreindre cette option pour n'affecter que certains fichiers.
Pouvez-vous déplacer votre "mauvais" code pour séparer le fichier C++? Si c'est le cas, n'activez cette option que pour ce fichier.

+0

Ce serait bien de ne pas avoir à l'éteindre pour toute la bibliothèque ... – Dan