2013-08-30 9 views
10

Ich bin vertraut mit Warnung unterdrückt Pragmas für GCC und Keil (sie sind unterschiedlich, aber die Verwendung ist ziemlich das Gleiche). Für ein Drittanbieter-Header ich so etwas tun kann:Wie können Warnungen in Quelldateien von Drittanbietern unterdrückt werden?

#pragma push 
#pragma suppress warning 
#include "whatever.h" 
#pragma pop 

Aber wie kann ich unterdrücken Warnungen aus Drittquellen? Sowohl Eclipse + GCC als auch Keil erzeugen sie. Die einzige Lösung, die ich kam, macht Whapper .c-Datei, die enthält andere .c-Dateien, die sehr schmutzig Trick scheint.

Gibt es noch andere Lösungen?

+1

Wenn Sie ein müss gut benannt & Set-apart weitere leere Quelldatei einschließlich des Dritten ein, ich dieses ein „Trick“ nennen würde, und nicht ein " sehr schmutziger Trick ". Geschmackssache natürlich :-) Ich stimme zu, dass eine "Standard" -Lösung sehr zu bevorzugen ist. –

+0

Dieser Trick wird auch für Eclipse etwas unpraktisch sein, da Eclipse standardmäßig alle Dateien in den Projektordner des Buildprozesses einbezieht. Also werden diese Quellen von Drittanbietern doppelt erstellt - eins wie sie selbst und ein anderes wie enthalten. Natürlich können sie manuell von gebaut werden, aber das ist ein weiterer Schmerz. – Amomum

Antwort

1

Sie können -isystem statt -Idir Dritte Header verwendet werden sollen. Siehe GCC manual.

Wenn Sie Quelldateien von Drittanbietern bearbeiten können, können Sie #pragma GCC diagnostic ignored "-Wwarning-to-disable" verwenden, siehe GCC manual.

+0

Kopfzeilen kommen nicht in Frage. Ich bin mir auch nicht sicher, wie kann ich das mit Eclipse machen (da ich die Schnittstelle zum Zeigen von Include-Verzeichnissen verwende). – Amomum

5

mit gcc, beim Kompilieren Sie -w Option verwenden können Warnungen zu unterdrücken.

-w: Hemmen alle Warnmeldungen.

Beispiel:

gcc -w third_party_sourcefile.c 
+1

Das ist ein guter Weg, aber ich bin nicht sicher, ob es für Eclipse geeignet ist, da es Makefiles erzeugt. – Amomum

+0

@Amomum, Tut mir leid, ich bin nicht vertraut mit Eclipse. Jemand wird Ihnen auf jeden Fall nützliche Informationen über Eclipse geben. – Gangadhar