2016-06-03 7 views
7

Ich rufe cppcheck auf unsere eigenen Dateien in unserer Quelldatenbank. Einige Quelldateien enthalten jedoch Headerdateien aus Bibliotheken von Drittanbietern, z. B. aus ./lib/some_library/. Diese werden automatisch auch von cppcheck geparst.Cppcheck: Wie überspringe ein Verzeichnis von Headerdateien von Drittanbietern?

Ich möchte dies nicht, da ich keine Warnungen auf Code von Drittanbietern sehen möchte. Gibt es eine Möglichkeit, dies zu umgehen?

Der Unterschied zu how can i tell cppcheck to skip a header file ist, dass dieser Beitrag ausdrücklich fordert, ein gesamtes Verzeichnis zu überspringen, nicht nur eine einzelne Header-Datei.

+1

'-i

' Gib Pfad zu ignorieren wäre zu cppcheck. Geben Sie mehrere -i Parameter an, um mehrere Pfade zu ignorieren. Geben Sie den Verzeichnisnamen oder den Dateinamen mit dem Pfad als Parameter an. Verzeichnisname ist auf alle Teile von der Pfad abgestimmt. – Gluttton

+0

Für mich heißt es: '-i

' Geben Sie eine Quelldatei oder ein Quelldateiverzeichnis an, das von der Prüfung ausgeschlossen werden soll. ** Dies gilt nur für Quelldateien, so dass Headerdateien, die von Quelldateien enthalten sind, nicht übereinstimmen. ** Der Verzeichnisname ist mit allen Teilen des Pfads identisch. –

+0

siehe https: // stackoverflow.com/a/38335737/792456 – arved

Antwort

1

Per cppcheck Handbuch :: https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwiQi9bV6_TTAhWpjFQKHeroAw4QFggnMAA&url=http%3A%2F%2Fcppcheck.sourceforge.net%2Fmanual.pdf&usg=AFQjCNEYSf0Cbm1L1D10t2QNJLg3Cd3EcA&sig2=nZZiA8VUZejVBDdcRDj7ig

eine Datei oder einen Ordner aus Ohne Überprüfung Um eine Datei oder einen Ordner ausschließen, gibt es zwei Möglichkeiten. Die erste Option besteht darin, nur die zu überprüfenden Pfade und Dateien anzugeben.

cppcheck src/a src/b 

Alle Dateien unter src/a und src/b werden dann überprüft.

Die zweite Option ist die Verwendung von -i, mit der Sie Dateien/Pfade angeben, die ignoriert werden sollen. Mit diesem Befehl keine Dateien in src/c werden geprüft:

cppcheck -isrc/c src 

Diese Option zur Zeit nicht mit der --project Option funktioniert und ist nur gültig, wenn ein Eingang Verzeichnis liefert.

Um mehrere Verzeichnisse zu ignorieren, geben Sie mehrmals -i an. Der folgende Befehl ignoriert die Verzeichnisse src/b und src/c.

cppcheck -isrc/b -isrc/c 
1

würde Eine andere Möglichkeit über eine Datei Unterdrückungen zu benutzen, oder über commandline (manual Kapitel 7 „Listing Unterdrückungen in einer Datei“ sehen).

Ihre suppressions.txt konnte

*:/path/to/your/thirdpartylibs/*

werden, die alle Fehler aus diesem Pfad ausschließen würde. Die Syntax ist

[error id]:[filename]:[line]

mit Wildcard-Unterstützung für * (mehrere Zeichen) und ? (Einzelzeichen).

Der Anruf dann

cppcheck --suppressions-list=suppressions.txt . 
Verwandte Themen