Erklärung der CMake-Serie (erste Schritte) 1.5 Basisbefehl CMake-target_include_directories()


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.〓〓〓〓〓〓〓〓〓〓

おすすめ

転載: blog.csdn.net/mataojie/article/details/132342780