Ich habe ein Projekt (eine Bibliothek), die in ein paar Verzeichnisse mit Code unterteilt ist. Ich würde gerne g ++ suchen nach Header-Dateien im Stammverzeichnis des Projekts, so dass ich verschiedene Include-Pfade für die gleichen Header-Dateien über mehrere Quelldateien vermeiden kann.Wie mache ich g ++ Suche nach Header-Dateien in einem bestimmten Verzeichnis?
Vor allem das root/
Verzeichnis hat Unterverzeichnisse A/
, B/
und C/
, von denen alle innerhalb .hpp
und .cpp
Dateien. Wenn irgendeine Quelldatei in A file.hpp
enthalten wollte, was in B war, würde es so aussehen: #include "../B/file.hpp"
. Gleiches gilt für eine andere Quelldatei in C. Aber wenn A selbst Unterverzeichnisse mit Dateien hatte, die file.hpp
benötigten, wäre es inkonsistent und würde Fehler verursachen, wenn ich mich dazu entschließen würde, Dateien zu verschieben (weil der Include-Pfad "../../B/file.hpp"
wäre). .
Auch dies müsste von anderen Projekten auch funktionieren, die außerhalb von root/
liegen. Ich weiß bereits, dass es eine Option gibt, alle meine Header-Dateien manuell in ein Standardsuchverzeichnis zu kopieren, aber ich würde das gerne so machen, wie ich es beschrieben habe.
Bearbeiten: Alle Programme mit der Bibliothek müssen nur mit g++ prog.cpp lib.a -o prog
kompilieren. Das bedeutet dauerhaft Einstellung der Include-Pfad für g ++!
Hey, ich habe die Frage ohne ein wichtiges Detail, siehe die Bearbeitung, danke! – corazza
@Bane, das ändert alles :-). Ich habe meine Antwort so bearbeitet, dass sie mehr Optionen enthält, die verwendet werden können. – Vikas
Das scheint das zu sein, wonach ich suche. Wie genau kann ich diese bearbeiten? (Mit einer CLI-Anweisung, die ich der Installationsregel meiner Bibliothek hinzufügen muss.) – corazza