Basisbefehl target_include_directories()
〓〓〓〓〓〓〓〓 Lernen Sie CMake auf praktische Weise.〓〓〓〓〓〓〓〓〓〓
5. target_include_directories
5.1 Befehlsformat:
target_include_directories(<target> [SYSTEM] [AFTER|BEFORE]
<INTERFACE|PUBLIC|PRIVATE> [items1...]
[<INTERFACE|PUBLIC|PRIVATE> [items2...] ...])
Mit diesem Befehl werden Include-Verzeichnisse für das angegebene Ziel hinzugefügt. Geben Sie den Pfad an, in dem Header-Dateien beim Kompilieren des Ziels durchsucht werden müssen, um sicherzustellen, dass der Compiler die erforderlichen Header-Dateien finden kann. Dies ist nützlich für die Erstellung von Bibliotheken und ausführbaren Dateien in CMake-Projekten, da diese möglicherweise von Header-Dateien aus anderen Modulen oder Bibliotheken abhängen . .
5.2 Parameterbeschreibung
- target : Der Name des Ziels, dem das enthaltende Verzeichnis hinzugefügt werden soll.
- SYSTEM : Optionaler Parameter, der angibt, dass das enthaltene Verzeichnis das Systemverzeichnis ist. Dadurch wird der Compiler angewiesen, diese Verzeichnisse als Standard-Header-Verzeichnisse des Systems zu behandeln.
- BEFORE : Optionaler Parameter, der angibt, dass das Include-Verzeichnis vor dem vorhandenen Include-Verzeichnis hinzugefügt werden soll, anstatt es nach dem Standard hinzuzufügen.
- SCHNITTSTELLE, ÖFFENTLICH, PRIVAT : Gibt die Sichtbarkeitsebene des enthaltenden Verzeichnisses an.
SCHNITTSTELLE : Gibt an, dass das Include-Verzeichnis für das Ziel und andere Ziele, die es verwenden, gilt.
PUBLIC : Gibt an, dass das enthaltene Verzeichnis für das Ziel selbst und andere Ziele, die es verwenden, gilt.
PRIVATE : Gibt an, dass das Include-Verzeichnis nur für das Ziel selbst gilt.- items : Geben Sie den Pfad des hinzuzufügenden enthaltenen Verzeichnisses an. Dies kann ein Verzeichnisname, ein absoluter Pfad oder ein relativer Pfad sein.
5.3 Beispiel
Verwenden Sie absolute Pfade:
target_include_directories(target_name PRIVATE /path/to/directory)
Im obigen Beispiel wird dadurch ein privates Include-Verzeichnis für das angegebene Ziel (Zielname) hinzugefügt, d. h. nur dieses Ziel und seine Abhängigkeiten können auf dieses Verzeichnis zugreifen.
Verwenden Sie relative Pfade:
target_include_directories(target_name PRIVATE relative/path/to/directory)
Dadurch wird das Include-Verzeichnis unter Verwendung eines relativen Pfads zum Pfad angegeben, in dem sich die aktuelle Datei CMakeLists.txt befindet.
Darüber hinaus können Sie mehrere Suchverzeichnisse gleichzeitig hinzufügen:
target_include_directories(target_name PRIVATE
directory1
directory2
...
)
Diese Verwendung ermöglicht die gleichzeitige Angabe mehrerer Include-Verzeichnisse.
Anhang: Das Portal zur Rückkehr zum allgemeinen Verzeichnis lautet wie folgt:
〓〓〓〓〓〓〓〓 Lernen Sie das CMake-Allgemeinverzeichnis auf praktische Weise kennen.〓〓〓〓〓〓〓〓〓〓