Header aus anderem Ordner einbinden

Gast #997617
Lesenswert?

Device: Fujitsu MB90F342
---------------------------


Hi, folgende Ordnerstruktur:

--------Hauptordner----------
-       |         |
-       |         |
Unterordner1      Unterordner2(Header)

So jetzt würde ich gerne im Unterordner1 einen Header aus dem 
Unterordner2
einbinden,...
Habs so versucht:
1
//c-file liegt im Unterordner1
2
#include "../Unterordner2/sysinit.h"

das mag der Compiler allerdings nicht....

Gibt es die Möglichkeit überhaupt, ohne dass ich ganze Pfade angeben 
muss??
Wenn ja, wie lautet da die Syntax??
Gruß
µCnoob
Persönliche Seite #997670
Lesenswert?

> Habs so versucht:
>
> //c-file liegt im Unterordner1
> #include "../Unterordner2/sysinit.h"
>
> das mag der Compiler allerdings nicht....

Das sollte aber funktionieren, denn diese Vorgehensweise ist legitim.
Sowas mache ich in vielen Projekten genau so.

Allerdings ist hier die Frage, was zu diesme Zeitpunkt das "aktuelle" 
Verzeichnis ist und ob der Compiler die nicht-Windows-Syntax der 
Pfadtrenner unterstützt.

Solltest Du Windows einsetzen, kannst Du mit Systeminternals' Filemon 
nachsehen, wo der Compiler versucht, Deine Headerdatei anzufassen, damit 
kannst Du das "aktuelle" Verzeichnis lokalisieren.
Gast #997681
Lesenswert?

öhm, das hab ich jetzt nicht verstanden,...
>Solltest Du Windows einsetzen, kannst Du mit Systeminternals' Filemon
>nachsehen, wo der Compiler versucht, Deine Headerdatei anzufassen, damit
>kannst Du das "aktuelle" Verzeichnis lokalisieren.

Bin jetzt kein Windowsexperte, muss es aber bei der Arbeit verwenden :-(

Gruß
Persönliche Seite #997699
Lesenswert?

Filemon überwacht Dateizugriffe von Programmen. Meckert Dein C-Compiler, 
daß er eine Datei nicht gefunden habe, kannst Du mit Filemon nachsehen, 
welchen (vollständigen) Pfad Dein Compiler ausprobiert hat.

Was aber exakt bedeutet Dein "das mag der Compiler allerdings nicht"? 
Die Fehlermeldung wird ja wohl nicht "I don't like this" lauten, oder?
Gast #997857
Lesenswert?

Doch!
Ok, scherz ;-}

Nee, die Lautete
>E4038P: #include: cannot find file "../include/sysinit.h"


Aber, it was my mistake,...
Ich hatte einfach vergessen die Datei in den Ordner zu übernehmen, 
peinlich, peinlich,... ach ja und das include muss dann so heißen:
"..\include\sysinit.h"

Also, danke,...
lg
noob

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