Der CLion-Indexer löst einige Includes im Projektverzeichnis nicht auf

Der CLion-Indexer löst einige Includes im Projektverzeichnis nicht auf

Sie müssen einen CMakeLists.txt erstellen damit CLion glücklich ist. Es reicht aus, alle Quelldateien zu deklarieren, Sie müssen Ihre Scons (oder ein anderes Build-System) nicht in cmake konvertieren.

Sie müssen die CMakeLists.txt nicht einmal von Hand schreiben, Sie können CLion darum bitten:

  • File | New CMake Project from Sources... (seit CLion 2019.2)
  • File | Import project ... | (älterer CLion)

und zeigen Sie dann auf das Verzeichnis, das Ihr Projekt enthält.

Bearbeiten Sie nun die generierte CMakeLists.txt und fügen Sie einen cmake-Befehl hinzu, um CLion mitzuteilen, wo die Includes zu finden sind (eigentlich um dem Compiler mitzuteilen, und CLion wird diese Informationen wiederverwenden).

Da Ihre Quelldateien das Include als #include "my_includes/my_own.hpp" verwenden müssen Sie cmake das Basisverzeichnis mitteilen, das das Verzeichnis my_includes enthält :

include_directories(.)

Wobei der Punkt dasselbe Verzeichnis bedeutet wie dasjenige, das den CMakeLists.txt enthält .

Ich habe mit einem Projekt getestet, das Ihr Layout und von my_src.cpp reproduziert Ich kann zu my_own.hpp navigieren .

Dann müssen Sie zum Erstellen immer noch Scons in einer Konsole verwenden. Es ist auch möglich, einen cmake-Befehl hinzuzufügen, add_custom_target() das wird Ihre Scons (oder Ihr Make oder was auch immer) aufrufen, sodass Sie auch von CLion zu den Build-Fehlern navigieren können.