Відповіді:
Оновлення: Якщо ви використовуєте CLion 2020.2, він уже підтримує Makefiles. Якщо ви використовуєте старішу версію, читайте далі.
Незважаючи на те, що наразі підтримується лише CMake, ви можете доручити CMake дзвонити make
зі своїм користувачем Makefile
. Відредагуйте CMakeLists.txt
додавання однієї з цих двох команд:
Коли ви скажете CLion
запустити свою програму, вона спробує знайти виконавчий файл з тим самим іменем цілі в каталозі, на який вказує PROJECT_BINARY_DIR
. Тож поки ваш make
генерує файл там, де CLion
очікує, не буде проблем.
Ось робочий приклад:
CLion
передати його $ (PROJECT_BINARY_DIR) наmake
Це зразок 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
каталозіЦе зразок Makefile
:
all:
echo Compiling $(CLION_EXE_DIR)/$@ ...
g++ mytest.cpp -o $(CLION_EXE_DIR)/mytest
Це все, ви також можете змінити робочий каталог вашої програми, щоб він виконувався так, як це відбувається, коли ви запускаєте make зсередини вашого каталогу. Для цього редагуйте:Run -> Edit Configurations ... -> mytest -> Working directory
Makefile
та CMakeLists.txt
, спробуйте змінити *.cpp
файл. Це дозволило б CLion будувати все з нуля.
Хоча це один із найбільш голосових запитів на функцію , Віктор Кропп є одним плагіном , який додає підтримку для файлів:
Плагін підтримки Makefile для IntelliJ IDEA
Ви можете встановити безпосередньо з офіційного сховища:
Налаштування> Плагіни> пошук makefile
> Пошук у сховищах> Встановити> Перезапустити
Існує щонайменше три різні способи запуску:
Він відкриває область з назвою Run target з результатом.
binary
<<default>"
Найновіша версія має кращу підтримку буквально для будь-яких створених Makefiles через компільованийb
Три кроки:
встановити компільованийb
pip install compiledb
запустити сухий макіяж
compiledb -n make
(зробіть автоген, налаштуйте, якщо потрібно)
буде створений файл compile_commands.json, відкрийте проект, і ви побачите, що CLion завантажить інформацію з файлу json. Якщо ви, ваш CLion, все ще намагаєтесь знайти CMakeLists.txt і не можете прочитати compile_commands.json, спробуйте видалити всю папку, повторно завантажте вихідні файли та повторіть крок 1,2,3
Оригінальний пост: Робота з Makefiles у CLion з використанням БД компіляції
Щоб повністю уникнути використання CMAKE, ви можете просто:
Створіть свій проект як зазвичай за допомогою Make через термінал.
Змініть конфігурації CLion, перейдіть до (у верхній смузі):
Run -> Edit Configurations -> yourProjectFolder
Змініть на, Executable
створене за допомогою Make
Змініть Working directory
папку, у якій зберігається ваш виконуваний файл (якщо потрібно)
Видаліть Build
завдання у Before launch:Activate tool window
вікні
І ви все налаштовані! Тепер ви можете скористатися кнопкою налагодження після ручної збірки.
Наразі CLion підтримує лише CMake. Інші системи побудови будуть додані в майбутньому, але наразі ви можете використовувати лише CMake.
Інструмент імпортера було впроваджено, щоб допомогти вам використовувати CMake.
Редагувати:
Джерело: http://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/
Я не дуже добре знайомий з CMake і не міг використовувати рішення Mondkin безпосередньо.
Ось що я придумав у своєму CMakeLists.txt, використовуючи останню версію CLion (1.2.4) та MinGW в Windows (я думаю, вам просто потрібно буде замінити всі: g ++ mytest.cpp -o bin / mytest на make if ви не використовуєте однакову настройку):
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})
І користувацький Makefile такий (він знаходиться в корені мого проекту і генерує виконуваний файл у каталозі bin):
all:
g++ mytest.cpp -o bin/mytest
Я в змозі створити виконуваний файл і помилки у вікні журналу можна натискати.
Підказки в IDE досить обмежені через, що є великим обмеженням порівняно з чистими проектами CMake ...
set(SOURCE_FILES all_files_here.c)
а потім додавши add_executable(foobar_cmake ${SOURCE_FILES})
додатково до власної цілі. Тоді просто переконайтеся, що CLion налаштований на створення / запуск вашої власної цілі, а не _cmake.