Wie kann man einen nicht verwendeten Befehlszeilenargumentfehler mit Clang stumm schalten, ohne ihn zu deaktivieren?

Lesezeit: 1 Minute

Benutzer-Avatar
Alex Gaynor

Beim Benutzen -Werror mit clang wandelt es “Warnung: Argument während der Kompilierung nicht verwendet”-Meldungen in Fehler um, was sinnvoll ist. Da ist ein -Qunused-arguments Flagge, um sie vollständig zum Schweigen zu bringen. Meine Frage ist, gibt es welche -Wno-error=... Flag, das ich übergeben kann, damit dies keine Fehler sind, ohne sie vollständig zu deaktivieren?

  • unused-arguments geht es um unbenutzte Befehlszeilen-Flags, nicht um Argumente im Code.

    – Alex Gaynor

    7. Februar 2014 um 0:44 Uhr

  • Welches Argument wird in der Befehlszeile genau nicht verwendet?

    – Jens

    7. Februar 2014 um 11:06 Uhr

  • Bitte zeigen Sie die gesamte Befehlszeile und die gesamte von clang erzeugte Nachricht.

    – Jens

    7. Februar 2014 um 13:43 Uhr

  • Ist der Code dein eigener? Wenn ja, dann würde ich Ihnen raten, die Warnung im Quellcode selbst zu unterbinden. Siehe: stackoverflow.com/questions/3599160/…

    – Ruud Heldermann

    7. Februar 2014 um 15:03 Uhr

Es stellt sich heraus, dass die richtige Antwort lautet -Wno-error=unused-command-line-argument.

  • Dies scheint notwendig zu sein, wenn Clang mit ausgeführt wird -stdlib=libc++ durch distcc.

    – rubenvb

    1. Januar 2017 um 22:04 Uhr

  • Scheint sich geändert zu haben clang9 verwendet jetzt -Qunused-Argumente.

    – woher kam dieser Name

    22. November 2019 um 21:42 Uhr

Sie können auch diesen Befehl verwenden:

-Wno-unused-command-line-argument

In meinem Fall hatte ich ähnliche Probleme mit autoconf, als ich den clang-8-Compiler in ./configure verwendete.

*clang-8: error: unknown argument: '-ftree-loop-distribute-patterns'*
*clang-8: error: unknown argument: '-fno-semantic-interposition'*

Ich brauchte folgende Befehlszeile, um diese Fehler zu beheben:

./configure CC=clang-8 CXX=clang++-8 LD=clang++-8 CFLAGS=-Qunused-arguments

Hoffe, das ist hilfreich für andere.

#pragma clang diagnostic ignored "-Wunused-parameter"

Öffnen Sie in Visual Studio 2019 die Eigenschaftenseiten des C++-Projekts und gehen Sie zu Configuration Properties -> C/C++ -> CommandLine.

Fügen Sie in das Textfeld “Zusätzliche Optionen” ein

-Wunused-command-line-argument

Tun Sie dies für jede Konfiguration/Plattform-Kombination. Das hat bei mir funktioniert, um nur diese Warnung auszuschalten.

1371440cookie-checkWie kann man einen nicht verwendeten Befehlszeilenargumentfehler mit Clang stumm schalten, ohne ihn zu deaktivieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy