Odpowiedzi:
Aktualizacja: jeśli używasz CLion 2020.2, to obsługuje on już pliki Makefiles. Jeśli używasz starszej wersji, czytaj dalej.
Mimo że obecnie obsługiwany jest tylko CMake, możesz poinstruować CMake, aby dzwonił make
z Twoim niestandardowym Makefile
. Edytuj CMakeLists.txt
dodanie jednego z tych dwóch poleceń:
Kiedy powiesz, CLion
aby uruchomić program, spróbuje znaleźć plik wykonywalny o tej samej nazwie celu w katalogu wskazanym przez PROJECT_BINARY_DIR
. Tak długo, jak długo make
generuje plik zgodnie z CLion
oczekiwaniami, nie będzie problemu.
Oto działający przykład:
CLion
aby przekazać jego $ (PROJECT_BINARY_DIR) domake
Oto próbka 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
kataloguOto próbka Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
To wszystko, możesz również chcieć zmienić katalog roboczy swojego programu, aby działał tak, jak to jest, gdy uruchamiasz make z wnętrza katalogu. W przypadku tej edycji:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
i CMakeLists.txt
, spróbuj zmodyfikować *.cpp
plik. To sprawiłoby, że CLion zbudowałby wszystko od zera.
Chociaż jest to jedna z najczęściej ocenianych propozycji funkcji , dostępna jest jedna wtyczka autorstwa Victora Kroppa , która dodaje obsługę plików makefile:
Wtyczka obsługująca Makefile dla IntelliJ IDEA
Możesz zainstalować bezpośrednio z oficjalnego repozytorium:
Ustawienia> Wtyczki> wyszukaj makefile
> Wyszukaj w repozytoriach> Zainstaluj> Uruchom ponownie
Istnieją co najmniej trzy różne sposoby uruchamiania:
Otwiera okienko o nazwie Uruchom cel z danymi wyjściowymi.
binary
na <domyślnym>”
Najnowsza wersja ma lepsze wsparcie dosłownie dla wszystkich generowanych plików Makefile, poprzez plik compiledb
Trzy kroki:
zainstaluj compiledb
pip install compiledb
uruchom suchą markę
compiledb -n make
(wykonaj autogen, skonfiguruj w razie potrzeby)
zostanie wygenerowany plik compile_commands.json, który otworzy projekt i zobaczysz, że CLion załaduje informacje z pliku json. Jeśli twój CLion nadal próbujesz znaleźć CMakeLists.txt i nie możesz odczytać compile_commands.json, spróbuj usunąć cały folder, ponownie pobierz pliki źródłowe i powtórz krok 1,2,3
Orignal post: Praca z plikami Makefiles w CLion przy użyciu bazy danych kompilacji
Aby całkowicie uniknąć używania CMAKE, możesz po prostu:
Zbuduj swój projekt w zwykły sposób za pomocą aplikacji Make za pośrednictwem terminala.
Zmień konfiguracje CLion, przejdź do (w górnym pasku):
Run -> Edit Configurations -> yourProjectFolder
Zmień na Executable
ten wygenerowany za pomocą Make
Zmień na Working directory
folder zawierający plik wykonywalny (w razie potrzeby)
Usuń Build
zadanie w Before launch:Activate tool window
pudełku
I gotowe! Możesz teraz użyć przycisku debugowania po kompilacji ręcznej.
Obecnie CLion obsługuje tylko CMake. Inne systemy kompilacji zostaną dodane w przyszłości, ale obecnie możesz używać tylko CMake.
Zaimplementowano narzędzie importera, które pomaga w korzystaniu z CMake.
Edytować:
Źródło: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
Nie jestem zbyt zaznajomiony z CMake i nie mogłem bezpośrednio korzystać z rozwiązania Mondkin.
Oto, co wymyśliłem w moim CMakeLists.txt, używając najnowszej wersji CLion (1.2.4) i MinGW w systemie Windows (myślę, że wystarczy wymienić wszystkie: g ++ mytest.cpp -o bin / mytest według marki, jeśli nie używasz tej samej konfiguracji):
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})
A niestandardowy plik Makefile wygląda tak (znajduje się w katalogu głównym mojego projektu i generuje plik wykonywalny w katalogu bin):
all:
g++ mytest.cpp -o bin/mytest
Jestem w stanie zbudować plik wykonywalny, a błędy w oknie dziennika są klikalne.
Podpowiedzi w IDE są dość ograniczone, co jest dużym ograniczeniem w porównaniu do czystych projektów CMake ...
set(SOURCE_FILES all_files_here.c)
a następnie dodając jako add_executable(foobar_cmake ${SOURCE_FILES})
dodatek do niestandardowego celu. Następnie upewnij się, że CLion jest skonfigurowany do budowania / uruchamiania niestandardowego celu, a nie _cmake.