Wie kann verhindert werden, dass '#warning'-Nachrichten als Fehler behandelt werden?

8

Ich versuche zu kompilieren, das -Werror -Flag in eine vorhandene Codebasis einzufügen. Eines der Probleme, denen ich begegne, ist, dass an einigen Stellen #warning verwendet wird, um Informationsnachrichten anzuzeigen. Diese sollten nicht als Fehler behandelt werden.

Eine Lösung wäre, stattdessen #pragma message zu verwenden, aber dies scheint von älteren Versionen von gcc nicht unterstützt zu werden. (Unsere Build-Server verwenden gcc 4.1.2).

Kann mir jemand helfen, das Problem zu beheben?

    
StackedCrooked 14.12.2011, 16:48
quelle

2 Antworten

4

In gcc-4.6 und höher können Sie -Wno-error=cpp verwenden. In mindestens dem mit Lion und später veröffentlichten Clam können Sie -Wno-error=#warnings verwenden. Aber da Ihre Build-Server einen alten gcc verwenden, haben Sie wahrscheinlich kein Glück.

Übergeben Sie im Allgemeinen die Option -fdiagnostics-show-option, damit Warnungen die Ausgabe wie folgt anzeigen:

%Vor%

zeigt Ihnen eine Warnmeldung an, die die Warnung steuert. In gcc & gt; = 4.6 und clang ist dies die Standardeinstellung, daher ist es nicht mehr sinnvoll, es zu wissen, um es zu bestehen.

    
Jeffrey Yasskin 15.12.2011 03:47
quelle
1

Deaktivieren Sie lokal den Effekt von -Werror für #warning wie folgt:

%Vor%

Der Vorteil bei diesem Ansatz ist, dass Sie immer noch Fehler mit #warning an anderer Stelle im Code auslösen können.

    
FooF 24.09.2012 06:45
quelle

Tags und Links