Probleme beim benutzen von header

Gast #5953068
Lesenswert?

Hallo,

Mein Source Code (C) liegt in verzeichnis "A". Jetzt muss ich eine 
Header anziehen, welche im Verzeichnis "B" liegt. Diese zieht wiederum 
eine Header an, welche aber ebenfalls im Verzeichnis "B" liegt. Beim 
Bauen bekomme ich jetzt die Fehlermeldung, dass die zweite angezogene 
Header nicht gefunden werden kann.

Verzeichnis A
a.c
1
#include "..\..\VerzichnisB\Include\headerB.h"

VerzeichnisB
headerB.h
headerC.h

in headerB.h steht dann
1
#include <headerC.h>

Die Fehlermeldung ist:
could not open source file "headerC.h"
#include <headerC.h>

diese Befindet sich aber definitiv im selben Ordner und zieht selber 
nichts mehr an

Wie bekomme ich es hin, dass ich headerB.h anziehen kann?
Gast #5953136
Lesenswert?

Jana schrieb:
> Nur die Header, welche von headerB.h
> aufgerufen wird, wird nicht gefunden

Logisch, weil er denkt, dass die Datei 
"..\..\VerzichnisB\Include\headerB.h" heißt und im aktuellen Verzeichnis 
liegt.

Er soll aber wissen, dass die Datei "headerB.h" heisst und im 
Verzeichnis "..\..\VerzichnisB\Include\" liegt, damit relative Pfade 
innerhalb dieser Datei auf das Verzeichnis "..\..\VerzichnisB\Include\" 
angewendet werden.
Gast #5953139
Lesenswert?

Für Windows sind Pfad und Dateiname einfach nur ein langer String, aber 
der Präprozessor (des Compilers) muss das aufsplitten, um die relativen 
Pfade richtig zusammen zu setzen.

Er muss aber wissen, dass die Datei "headerB.h" heisst und im 
Verzeichnis "..\..\VerzichnisB\Include\" liegt, damit relative Pfade 
innerhalb dieser Datei auf das Verzeichnis "..\..\VerzichnisB\Include\" 
angewendet werden.

Weil du die falschen Trennzeichen verwendest, splittet der Präprozessor 
diesen String falsch (bzw gar nicht).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren