2010-01-21 3 views
6

Ich frage mich, ob es eine Möglichkeit gibt, alle Warnungen für eine bestimmte Datei (z. B. mit einer Präprozessordirektive) zu deaktivieren.C++ Deaktivieren von Warnungen für ein bestimmtes Include

Ich benutze CImg.h und ich möchte die Warnungen mit diesem Code loswerden.

Ich bin sowohl mit VS (die Version für Windows) und gcc (der Linux-one) kompilieren, so würde Ich mag eine generische Art und Weise haben ...

Dank!

Antwort

6

Sie können es #pragma in Microsoft-Compiler tun:

http://msdn.microsoft.com/en-us/library/2c8f766e%28VS.80%29.aspx

Etwas wie folgt aus:

#pragma warning (push, 0) 

//....header file 

#pragma warning (pop) 

Können Sie nicht mit gcc-Compiler helfen, einige Informationen hier: Selectively disable GCC warnings for only part of a translation unit?

BEARBEITEN BEARBEITEN Versuchen Sie push, 0.

+0

Aber #pragma Warnung erwartet die Nummer/den Code der Warnung, die Sie deaktivieren möchten ... wie würden Sie * all * deaktivieren? Thx für die Antwort. – huff

+0

Fast! Warnstufe 1 erzeugt immer noch etwas. Glücklicherweise funktioniert #pragma warning (push, 0) * funktioniert * (obwohl diese Ebene nicht auf der msdn-Seite angegeben ist). Jetzt für eine GCC-Antwort ... (obwohl Sie die richtige Antwort verdient haben - Sie können es richtiger zu bearbeiten: D) – huff

+0

Oh, super, ich dachte Level 0 zu versuchen, habe aber keine Level 1 Warnung gefunden test on ... –

1

Blick in #pragma warning.

Verwandte Themen