Forum: PC-Programmierung Header in PC-lint ausschließen


von Tobi T. (freitagvormittag)


Lesenswert?

Hallo zusammen,

ich nutze PC-lint und möchte einen (eigenen) Header von der Überprüfung 
ausschließen.

Ich habe bisher noch nicht mit Lint gearbeitet, aber soweit ich weiß 
sollte das eigentlich mit
-libdir() oder
-libh() gehen.

Tut es aber nicht.

Ich habe im project.lnt beide Kommandos ausprobiert, sowohl mit 
relativem wie auch absolutem Pfad.
Der Header wird in verschiedenen *.c in verschiedenen Ordnern 
aufgerufen.
1
#include "..\uC\iostm8l151g6.h"
2
#include "..\Externals\HAL\uC\iostm8l151g6.h"
1
+libh("C:\Projekte\SVN\_Mess\trunk\Src\Externals\HAL\uC\iostm8l151g6.h")
2
+libdir(..\..\..\Src\Externals\HAL\uC)
3
+libdir(..\..\Src\Externals\HAL\uC)
4
+libdir(..\Src\Externals\HAL\uC)
5
+libdir(..\Externals\HAL\uC)
6
+libdir(..\..\HAL\uC)
7
+libdir(..\uC)
8
+libh(..\..\Src\Externals\HAL\uC\iostm8l151g6.h)
9
+libh(iostm8l151g6.h)
10
+libh("C:\Projekte\SVN\_Mess\trunk\Src\Externals\HAL\uC\iostm8l151g6.h")

Meine Umgebung ist: STM8, IAR Embedded Workbench 6.5, PC-lint 9.00

Hat jemand nen Tipp?

Vielen Dank,
Der Tobi

: Verschoben durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Tobi Tobi schrieb:
> +libh("C:\Projekte\SVN\_Mess\trunk\Src\Externals\HAL\uC\iostm8l151g6.h")
> +libh(..\..\Src\Externals\HAL\uC\iostm8l151g6.h)
> +libh(iostm8l151g6.h)
> +libh("C:\Projekte\SVN\_Mess\trunk\Src\Externals\HAL\uC\iostm8l151g6.h")

Da steht jedesmal ein + davor. Sollte da nicht ein - stehen? Und wie oft 
in wieviele unterschiedlichen Verzeichnissen existiert die Datei?

> #include "..\uC\iostm8l151g6.h"
> #include "..\Externals\HAL\uC\iostm8l151g6.h"

Sind das zwei unterschiedliche Varianten?

von Tobi T. (freitagvormittag)


Lesenswert?

In der Doku steht:
1
+libdir( directory [, directory] ... ) Add library directory
2
-libdir( directory [, directory] ... ) Remove library directory

Die Datei existiert nur einmal, sie wird aber in verschiedene *.c in 
verschiedenen Ordnern includiert.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Schön. Und warum schreibst Du dann immer nur + statt -?

Du willst auch keine Verzeichnisse ausschließen, sondern nur die eine 
Datei, so wie ich Dich verstanden habe.

Also sollte
1
-libh(iostm8l151g6.h)

genügen, wenn Du mit vernünftigen Include-Pfaden arbeitest.

von Tobi T. (freitagvormittag)


Lesenswert?

Sagt ein + nicht aus: "betrachte diese Datei als Library und benutze 
deshalb ein anderes Warning-level"?
1
-libh(iostm8l151g6.h)
funktioniert auch nicht -> es werden trotzdem Fehler in der Datei 
angezeigt.

In dem Verzeichnis \HAL\uC befindet sich nur diese eine Headerdatei, 
deshalb wäre es egal, ob das ganze Verzeichnis oder nur die Datei 
augeschlossen wird (aber du hast natürlich recht).

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Tobi Tobi schrieb:
> Sagt ein + nicht aus: "betrachte diese Datei als Library und benutze
> deshalb ein anderes Warning-level"?

Zitier' doch bitte mal die Stelle der lint-Dokumentation, die +/-libh 
und +/-libdir beschreibt.

von Tobi T. (freitagvormittag)


Lesenswert?

1
+libh( file [, file] ... ) Add library header
2
-libh( file [, file] ... ) Remove library header

von Tobi T. (freitagvormittag)


Lesenswert?

Ich weiß nicht, was ich bisher falsch gemacht habe, aber mit
1
+libh(..\uC\iostm8l151g6.h)
funktioniert es jetzt...

Danke für die Hilfe
Der Tobi

von jan (Gast)


Lesenswert?

Hallo,

ich habe das gleiche Problem und hoffe das mir hier weiter geholfen 
werden kann. Mir werden ebenfalls zahlreiche fehler in den Headerdateien 
angezeigt.

Sowohl:
+libh( file [, file] ... )
-libh( file [, file] ... )

bringen keinen Erfolg.

@ Tobi Tobi
hast du mittlerweile rausgefunden was das Problem bei dir war?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.