Есть ли способ настроить CLion для использования локального make-файла для компиляции кода, а не CMake? Я не могу найти способ сделать это из опций сборки.
Обновление: если вы используете 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 собрать все с нуля.Несмотря на то, что это один из самых популярных запросов на функцию , есть один доступный плагин , Виктор Кропп , который добавляет поддержку make-файлам:
Плагин поддержки Makefile для IntelliJ IDEA
устанавливать
Вы можете установить прямо из официального репозитория:
Настройки> Плагины> Поиск
makefile
> Поиск в репозиториях> Установить> Перезагрузитьиспользование
Есть как минимум три разных способа запуска:
Откроется панель Run target с выводом.
источник
binary
<default>»Новейшая версия имеет лучшую поддержку буквально для любых сгенерированных Make-файлов, через compiledb
Три шага:
установить compiledb
делать всухую
(сделать автоген, настроить при необходимости)
при открытии проекта будет создан файл compile_commands.json, и вы увидите, что CLion загрузит информацию из файла json. Если ваш CLion все еще пытается найти CMakeLists.txt и не может прочитать compile_commands.json, попробуйте удалить всю папку, повторно загрузить исходные файлы и повторить шаг 1,2,3
Оригинальный пост: Работа с Makefiles в CLion с использованием Compilation DB
источник
Чтобы полностью избежать использования 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 и не могу напрямую использовать решение Мондкина.
Вот что я придумал в своем CMakeLists.txt, используя последнюю версию CLion (1.2.4) и MinGW для Windows (я думаю, вам просто нужно заменить все: g ++ mytest.cpp -o bin / mytest на make, если вы не используете ту же настройку):
И пользовательский Makefile выглядит следующим образом (он находится в корне моего проекта и генерирует исполняемый файл в каталоге bin):
Я могу построить исполняемый файл и ошибки в окне журнала кликабельны.
Подсказки в IDE довольно ограничены, что является большим ограничением по сравнению с чистыми проектами CMake ...
источник
set(SOURCE_FILES all_files_here.c)
а затем добавивadd_executable(foobar_cmake ${SOURCE_FILES})
в дополнение к пользовательской цели. Затем просто убедитесь, что CLion настроен на сборку / запуск вашей пользовательской цели, а не на _cmake.