Header-Datei einbinden

Ich möchte gerne aus einem Unterverzeichnis eine Header-Datei aus einem übergeordneten Verzeichnis einbinden.
Code:
#include "../test.h"
Jedoch meckert hier Visual Studio folgenden an:
Die Datei "Quelle" kann nicht geöffnet werden: "../test.h" !!

Danke
 
Dann ist die Pfadangabe falsch.
Es ist nicht immer ganz verständlich, von welchem Verzeichnis man ausgehen soll.
Probier noch ein ../ oder weg oder so...
 
nee also irgednwie macht er bei mir was er will. Ich habe folgende Struktur:
Oberste Ebene test.h
UnterOrdner test1.h
unterunterOrdner test2.h

Nun will ich in test1.h die test.h einbinden und in test2.h die test1.h!!
Für mein Verständnis müsste das dann so aussehen:
test1.h: #include "../test.h"
test2.h: #include "../test1.h"
Richtig? Meckert aber rum!
 
Hallo,

Grundsätzlich ist deine Variante richtig. Welche Meldungen bekommst du denn genau?
Außerdem Achtung: Die Struktur die du in deinem Visual-Studio Projekt hast muss nicht die selbe sein wie auf der Festplatte. Include-Pfade beziehen sich immer auf die Festplatte.
 
Eigentlich mache ich es so:
C++:
#include "test.h"
#include "../test1.h"
#include "../test2.h"
Er müsste die Oberste eben als Arbeitsverzeichnis nehem oder hast du den Ausgabeordner als Arbeitsverzeichnis?
MFG
 
Zuletzt bearbeitet von einem Moderator:
Moment,

Er müsste die Oberste eben als Arbeitsverzeichnis nehem oder hast du den Ausgabeordner als Arbeitsverzeichnis?
Das Arbeitsverzeichnis hat mit Include-Pfaden nix zu tun. Das gibt nur an welches der Ordner ist aus dem das Programm beim Debuggen gestartet wird. Was du meinst sind glaub ich die Additional Include Directorys, aber selbst dann sind die von dir geposteten Pfade nicht korrekt,
C++:
test1.h: #include "../test.h"
test2.h: #include "../test1.h"
stimmt schon. Meine Vermutung ist immer noch das die Filter im Visual Studio einfach nicht mit den Ordnern auf der HD übereinstimmen.
 
Zuletzt bearbeitet von einem Moderator:
@mCoder ich füge das in eine header ein!

Aber ein anderes Problem udn zwar kommt beim kompilieren folgender Fehler:

1>creator\ClusterGraphCreator.cpp(1): warning C4627: "#include "../stdafx.h"": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
1> "StdAfx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
1>creator\ClusterGraphCreator.cpp(2): warning C4627: "#include "ClusterGraphCreator.h"": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
1> "StdAfx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
1>creator\ClusterGraphCreator.cpp(37): fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "StdAfx.h"" einzufügen?
 
Hallo,

wenn du ein Include mit relativer Pfadangabe einfügst (egal ob in .h oder .cpp), muss der Include-Pfad relativ zu dem Speicherort sein, an dem die Source liegt, in die du einfügst. Deswegen meine Frage, wo in dem Verzeichnisgestrüpp diese Source überhaupt liegt.

Das andere Problem hat dieselbe Ursache, dass nämlich "../stdafx.h" nicht gefunden wird. Die da mit dranhängenden Meldungen sind alles nur Folgefehler.

Gruß
MCoder
 

Neue Beiträge

Zurück