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, make
mit Ihrem Benutzer anzurufen Makefile
. Bearbeiten Sie das CMakeLists.txt
Hinzufü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 make
die 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 sollenmake
Dies 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's
Verzeichnis 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
Makefile
und Probleme beim Erstellen des Projekts haben CMakeLists.txt
, versuchen Sie, eine *.cpp
Datei 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.
binary
auf <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 Executable
in die mit Make generierte
Wechseln Sie Working directory
in den Ordner, in dem sich Ihre ausführbare Datei befindet (falls erforderlich).
Entfernen Sie die Build
Aufgabe in der Before launch:Activate tool window
Box
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.