einschließlich Header-Dateien aus verschiedenen Verzeichnissen?

8

Ich arbeite an einem Projekt und stehe immer wieder auf, wie ich Dateien aus einem anderen Verzeichnis importieren soll. Hier ist, wie einige meiner Dateien organisiert sind:

%Vor%

Wie kann ich auf stdafx.h und shapes/sphere.h von core/renderer.cpp zugreifen?

    
Stas Jaro 23.12.2011, 23:22
quelle

3 Antworten

7

Es gibt viele Möglichkeiten. Sie können zum Beispiel #include "../stdafx.h" . Häufiger ist es, das root Ihres Projekts zum Include-Pfad hinzuzufügen und #include "shapes/sphere.h" zu verwenden. Oder haben Sie ein separates Verzeichnis mit Kopfzeilen im Include-Pfad.

    
Michael Krelin - hacker 23.12.2011, 23:27
quelle
1

Sie können entweder relative Pfade verwenden:

%Vor%

oder fügen Sie Ihr Projektverzeichnis Ihrem Compiler-Include-Pfad hinzu und verweisen Sie wie üblich auf:

%Vor%

Sie können die Befehlszeilenoption /I verwenden um den Pfad hinzuzufügen oder den Pfad in den Projekteinstellungen festzulegen.

    
Dave Rager 23.12.2011 23:27
quelle
0

Eine (schlechte) Möglichkeit besteht darin, einen relativen Pfad zu der Header-Datei anzugeben, die als Teil der # include-Zeile enthalten sein soll. Zum Beispiel:

enthält "headers / myHeader.h"

enthält "../ moreHeaders / myOtherHeader.h"

Der Nachteil dieses Ansatzes besteht darin, dass Sie Ihre Verzeichnisstruktur in Ihrem Code widerspiegeln müssen. Wenn Sie Ihre Verzeichnisstruktur aktualisieren, wird Ihr Code nicht mehr funktionieren.

Eine bessere Methode besteht darin, Ihrem Compiler oder Ihrer IDE zu sagen, dass Sie eine Reihe von Header-Dateien an einem anderen Ort haben, so dass sie dort aussehen werden, wenn sie sie im aktuellen Verzeichnis nicht finden können. Dies kann in der Regel durch Festlegen eines "Include-Pfades" oder "Suchverzeichnisses" in den IDE-Projekteinstellungen erfolgen.

In Visual Studio können Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Projekt klicken und "Eigenschaften" und dann die Registerkarte "VC ++ -Verzeichnisse" wählen. Von hier aus sehen Sie eine Zeile namens "Include Directories". Fügen Sie Ihre Include-Verzeichnisse dort hinzu.

Gehen Sie in Code :: Blocks zum Menü Projekt und wählen Sie "Build-Optionen" und dann die Registerkarte "Verzeichnisse suchen". Fügen Sie Ihre Include-Verzeichnisse dort hinzu.

Mit g ++ können Sie mit der Option -I ein alternatives Include-Verzeichnis angeben.

g ++ -o main -I / source / enthält main.cpp

Das Schöne an diesem Ansatz ist, dass Sie, wenn Sie jemals Ihre Verzeichnisstruktur ändern, nur einen einzelnen Compiler oder eine IDE-Einstellung anstelle jeder Codedatei ändern müssen.

    
Pushpak Sharma 05.12.2016 10:32
quelle

Tags und Links