Antworten:
Update: Wenn Sie mit CLION 2020,2, dann bereits unterstützt Makefiles. Wenn Sie eine ältere Version verwenden, lesen Sie weiter.
Obwohl derzeit nur CMake unterstützt wird, können Sie CMake anweisen, makemit Ihrem Benutzer anzurufen Makefile. Bearbeiten Sie das CMakeLists.txtHinzufügen eines dieser beiden Befehle:
Wenn Sie anweisen CLion, Ihr Programm auszuführen, wird versucht, eine ausführbare Datei mit demselben Namen des Ziels in dem Verzeichnis zu finden, auf das verwiesen wird PROJECT_BINARY_DIR. Solange Sie makedie Datei so generieren CLion, wie es erwartet wird, gibt es kein Problem.
Hier ist ein Arbeitsbeispiel:
CLion, dass Sie sein $ (PROJECT_BINARY_DIR) an übergeben sollenmakeDies ist das Beispiel CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.4)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest COMMAND make -C ${mytest_SOURCE_DIR}
CLION_EXE_DIR=${PROJECT_BINARY_DIR})
CLion'sVerzeichnis generiert werden sollDies ist das Beispiel Makefile:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
Das ist alles, Sie möchten möglicherweise auch das Arbeitsverzeichnis Ihres Programms so ändern, dass es so ausgeführt wird, wie es ist, wenn Sie make aus Ihrem Verzeichnis heraus ausführen. Für diese Bearbeitung:Run -> Edit Configurations ... -> mytest -> Working directory
Makefileund Probleme beim Erstellen des Projekts haben CMakeLists.txt, versuchen Sie, eine *.cppDatei zu ändern . Dies würde CLion dazu bringen, alles von Grund auf neu zu erstellen.
Während dies eine der am häufigsten bewerteten Feature-Anfragen ist , gibt es ein Plugin von Victor Kropp , das Makefiles unterstützt:
Makefile-Support-Plugin für IntelliJ IDEA
Sie können direkt aus dem offiziellen Repository installieren:
Einstellungen> Plugins> Suchen nach makefile> In Repositorys suchen > Installieren> Neu starten
Es gibt mindestens drei verschiedene Arten der Ausführung:
Es öffnet sich ein Fenster namens Run
Ziel mit dem Ausgang.
binaryauf <Standard> ausgeführt werden"
Die neueste Version bietet buchstäblich eine bessere Unterstützung für alle generierten Makefiles über das compiledb
Drei Schritte:
installiere compiledb
pip install compiledb
Lassen Sie eine trockene Marke laufen
compiledb -n make
(Autogen machen, bei Bedarf konfigurieren)
Es wird eine compile_commands.json-Datei generiert, die das Projekt öffnet. Sie werden sehen, dass CLion Informationen aus der json-Datei lädt. Wenn Ihre CLion weiterhin versucht, CMakeLists.txt zu finden und compile_commands.json nicht lesen kann, versuchen Sie, den gesamten Ordner zu entfernen, die Quelldateien erneut herunterzuladen und Schritt 1,2,3 zu wiederholen
Ursprünglicher Beitrag: Arbeiten mit Makefiles in CLion mithilfe der Kompilierungsdatenbank
Um die Verwendung von CMAKE vollständig zu vermeiden, können Sie einfach:
Erstellen Sie Ihr Projekt wie gewohnt mit Make durch das Terminal.
Ändern Sie Ihre CLion-Konfigurationen und gehen Sie zu (in der oberen Leiste):
Run -> Edit Configurations -> yourProjectFolder
Ändern Sie die Executablein die mit Make generierte
Wechseln Sie Working directoryin den Ordner, in dem sich Ihre ausführbare Datei befindet (falls erforderlich).
Entfernen Sie die BuildAufgabe in der Before launch:Activate tool windowBox
Und du bist fertig! Sie können jetzt die Debug-Schaltfläche nach dem manuellen Erstellen verwenden.
Derzeit wird nur CMake von CLion unterstützt. Andere Build-Systeme werden in Zukunft hinzugefügt, aber derzeit können Sie nur CMake verwenden.
Es wurde ein Importer-Tool implementiert, mit dem Sie CMake verwenden können.
Bearbeiten:
Quelle: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
Ich bin mit CMake nicht sehr vertraut und konnte Mondkins Lösung nicht direkt verwenden.
Folgendes habe ich in meiner CMakeLists.txt mit der neuesten Version von CLion (1.2.4) und MinGW unter Windows gefunden (ich denke, Sie müssen nur alle ersetzen: g ++ mytest.cpp -o bin / mytest durch make if Sie verwenden nicht dasselbe Setup):
cmake_minimum_required(VERSION 3.3)
project(mytest)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
add_custom_target(mytest ALL COMMAND mingw32-make WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
Das benutzerdefinierte Makefile sieht folgendermaßen aus (es befindet sich im Stammverzeichnis meines Projekts und generiert die ausführbare Datei in einem bin-Verzeichnis):
all:
g++ mytest.cpp -o bin/mytest
Ich kann die ausführbare Datei erstellen und Fehler im Protokollfenster können angeklickt werden.
Hinweise in der IDE sind ziemlich begrenzt, was eine große Einschränkung im Vergleich zu reinen CMake-Projekten darstellt ...
set(SOURCE_FILES all_files_here.c)und sie dann add_executable(foobar_cmake ${SOURCE_FILES})zusätzlich zum benutzerdefinierten Ziel hinzufügte . Stellen Sie dann einfach sicher, dass CLion so eingestellt ist, dass Ihr benutzerdefiniertes Ziel erstellt / ausgeführt wird und nicht das _cmake-Ziel.