2017-01-24 4 views
0

Mein CLION Projekt wird wie folgt organisiert:Wie wird eine einzelne Wurzel für alle CLion-Includes festgelegt?

main.cpp 
foo/bar.h 
foo/blah.h 

main.cpp hat die Linie #include "foo/bar.h" und diese alle rechten Seite.

Aber foo/bar.h hat die Zeile #include "foo/blah.h" (beachten Sie, dass der Verzeichnisname nicht ausgelassen wird, obwohl sich beide Dateien im selben Verzeichnis befinden).

Die FAQ legt nahe, dass eine Lösung für „CLION nicht einige meiner Header zu finden. Wo es für sie nicht suchen?“ ist die Linie

set(INCLUDE_DIRECTORIES .) 

zu CMakeLists.txt hinzuzufügen. Diese Schwingung ist genau die richtige Antwort, da sie mit dem übereinstimmt, was wir in der Befehlszeile tun würden (fügen Sie das Flag -I. hinzu), aber das hilft nicht.

Wie kann ich CLion mitteilen, dass alle Includes relativ zu einem einzelnen Root sein sollen?

Verwandte Frage (n):

+0

Zeigen Sie uns, wie Sie sie einschließen, standardmäßig müssen Sie nicht hinzufügen, include_directories (foo) – jamek

+0

@jamek Fertig. Die # include-Zeilen hinzugefügt. – Calaf

Antwort

0

die einfache Möglichkeit, es zu tun, ist dies:

include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 

Wenn Sie sind Pfade für Schnittstellen oder Installationen diktieren wollen (zB schreiben Sie eine Bibliothek, die von anderen Projekten importiert werden soll), dann sehen Sie sich die Dokumentation für

an
target_include_directories(...) 
Verwandte Themen