2014-02-07 8 views
18

Wenn -Werror mit clang verwendet wird, wird "Warning: argument not unused compilation" in Fehler umgewandelt, was sinnvoll ist. Es gibt eine -Qunused-arguments Flagge, um sie ganz zum Schweigen zu bringen. Meine Frage ist, gibt es einige -Wno-error=... Flag, die ich übergeben kann, um diese Fehler nicht zu machen, ohne sie vollständig zu deaktivieren?Wie zum Schweigen zu bringen unbenutzte Befehlszeile Argument Fehler mit Clang ohne es zu deaktivieren?

+2

'unbenutzter arguments' ist über nicht verwendete Befehlszeilen-Flags, nicht Argumente im Code. –

+0

Welches Argument wird gerade in der Befehlszeile nicht verwendet? – Jens

+0

Bitte zeigen Sie die gesamte Befehlszeile und die gesamte Nachricht, die von clang erzeugt wird. – Jens

Antwort

20

Die richtige Antwort lautet -Wno-error=unused-command-line-argument.

+0

Dies scheint notwendig, wenn Clann mit '-stdlib = libC++' bis 'distcc' ausgeführt wird. – rubenvb

0
#pragma clang diagnostic ignored "-Wunused-parameter" 
1

Mein erster (vielleicht irre) Eindruck:

Selbst wenn Sie die -Werror Flagge verwenden, können Sie immer noch diese besondere Warnung drehen (als Fehler) off durch die Flagge Hinzufügen : -Wno-unused-variable. Oder Sie können die Warnung erhalten, ohne sie mit einem Fehler gefördert: -Wno-error-unused-variable

für nicht belegte Funktionsargumente: -Wno-unused-parameter oder -Wno-error-unused-paramter


bearbeiten

Nach der Lektüre der Frage wieder , mein Verständnis ist, dass Sie die Warnung für nicht verwendete Befehlszeilenargumente beibehalten möchten, ohne -Werror Förderung sie zu Fehler. Ich glaube, du hast kein Glück. Es gibt keine -Qunused-argument Variation wie -Qno-...; persönlich, ich denke, das ist ein Missbrauch der -W[no-|no-error-]<option>, und sollte von der Kommandozeilen-Validierung getrennt werden - aber das ist, was wir stecken mit scheint es.

Wirklich, die beste Anwendung von -Werror ist für Ihre eigene Code-Entwicklung. Es ist bekannt dafür, 3rd-Party-Pakete und Autotools zu zerstören/Builds zu erstellen.

0

Sie können diesen Befehl auch verwenden:

-Wno-unused-command-line-argument 
+0

Dies liefert keine Antwort auf die Frage. Sobald Sie genug [Reputation] (https://stackoverflow.com/help/whats-reputation) haben, können Sie [jeden Beitrag kommentieren] (https://stackoverflow.com/help/privileges/comment); Stattdessen [geben Sie Antworten, die keine Klärung durch den Fragesteller erfordern] (https://meta.stackexchange.com/questions/214173/why-doe-i-need-50-reputation-to-comment-what-can- i-do-stattdessen). - [Aus Bewertung] (/ review/low-quality-posts/18694675) –

Verwandte Themen