Как добавить конфигурацию в clion
Перейти к содержимому

Как добавить конфигурацию в clion

Как добавить конфигурацию в Сlion для склонированного проекта?

image

я склонировал проект с Github, но не хватает конфигурации, чтобы исполнять файлы. как её создать/добавить? я пытался Run -> Edit Configurations, создаю CMake Application, но что мне подставить в Target и Executable?

Отслеживать
430 3 3 серебряных знака 13 13 бронзовых знаков
задан 16 ноя в 11:41
35 5 5 бронзовых знаков

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

В Executable нажать на [. ] и указать путь к CmakeLists.txt . Если файл составлен без ошибок, при запуске (Shift + F10) таргет добавится сам

Отслеживать
ответ дан 16 ноя в 12:03
Dan Sazonov Dan Sazonov
430 3 3 серебряных знака 13 13 бронзовых знаков
Спасибо большое!
16 ноя в 15:17

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.29.1725

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Подключение компилятора ARM GCC к CLion

Вероятно есть более хорошо объяснённые и написанные статьи об этом. Я не нашел, либо они были не полные для меня.
Это статья всего лишь нагромождение моего опыта и попыток подключения компилятора к IDE общего назначения, она не является руководством КАК СДЕЛАТЬ, скорее для помощи и экономии времени тех, кто имеет схожие цели.
Описываемый процесс написан чайником и предназначен для совсем чайников, может иметь имеет неточности, ошибки, использование магии и прямое вранье во имя упрощения. Если вам интересно как это действительно правильно работает и что под капотом — перепроверяйте и читайте официальные гайды.
Тут будет много «не знаю как это работает, но я так сделал и оно заработало».

Пререквизиты

Суть всего этого копошения — универсализация сборки и в т.ч. независимость от IDE.

А значит, как минимум все должно собираться из командной строки. Это много где описано, но если сюда залетит еще один несчастный вроде меня и он просто не понимает кучи предстоящего неизведанного дерьма, то ниже чек-лист и мотивы того, что потребуется.
Подразумевается, что читающий будет это все понимать, до того как перейдет к следующему абзацу.

  • Уметь в базовые действия CLI — создать папку\файл, удалить папку\файл.
  • Немножко понимать, что такое команда\программа в CLI и ее флаги.
  • Немножко понимать, что существуют переменные окружения.
  • Уметь собирать C\C++ hello world из под CLI через make.
  • Уметь тоже самое через CMake.
  • Понимать что такое toolchain.cmake файл и нафига он.
  • Уметь в самые базовые действия openocd и хотя бы взглянуть как выглядят ее конфиги. Еще стоит найти принцип и пути, как оно ищет конфиги.
Сборка из под CLI

Без особых подробностей.
1. Скачать github.com/ahessling/STM32F4Template (в Readme.md репозитория есть инструкции)
2. Скачать\установить тулчейн GCC для ARM developer.arm.com/downloads/-/arm-gnu-toolchain-downloads. (не скачайте урезанную\бета версию, при установке отметьте, что бы установило переменные окружения и переменную окружения path).
3. Скачать\установить make и cmake, убедиться, что они работают из под CLI.
4. Скачать\установить openocd, убедиться, что он работает из под CLI.
5. Попробовать сконфигурировать\собрать\прошить скачанный проект.

Настройка сборки в CLion
  1. Открыть проект как «CMake проект»

  • CLion шибко умный и норовит сам взять наиболее подходящий C\C++ компилятор из системы. Я не знаю принцип его поиска, но находит он обычно компилятор для платформы системы, что ожидаемо, но нам не нужно.
  • CLion не умеет сам находить\сжирать файл тулчейна. Он так же не умеет брать его из CMakeLists.txt

Нам это не нужно, мы хотим, что бы компилятор определялся в CMakeLists.txt. Но больше настроек в тулчейне мы сделать не можем, поэтому либо ставим намеренно неверные пути к компилятору, что бы максимизировать ошибку, либо прописываем верные абсолютные пути к установленному GCC ARM, конкретно к файлам *-gcc.exe \ *-g++.exe. (зачем, об этом ниже).

  • Сразу ставим галочку Share. Это вынесет этот профайл в отдельный файл и позволит его использовать вместе с VCS. Иначе, это все будет храниться в неком workspace.xml, что постоянно меняется по любому чиху и по идее должен быть игнорирован.
  • В поле Toolchain выбираем созданный выше.
  • В CMake Options добавляем строку -DCMAKE_TOOLCHAIN_FILE=ПУТЬ-К-РЕАЛЬНОМУ-ФАЙЛУ-ТУЛЧЕЙНА-ЧТО-БЫЛ-В-РЕПОЗИТОРИИ

Траблшутинг
  1. Попробовать удалить папку build
  2. Попробовать перезапустить IDE
  3. При множественном долблении Reload CMake project, в случае успешной предыдущей реконфигурации, в следующих попытках конфигурации, IDE почему-то начинает использовать компилятор из «встроенного тулчейна», я не знаю почему. Это вероятно баг, я зарепортил, апдейтну если ответят.

Проявляется в виде не здоровых ворнингов: Manually-specified variables were not used by the project: CMAKE_TOOLCHAIN_FILE.
А в случае, если в «встроенном тулчейне» не указаны компиляторы, будет вообще падать с ошибкой. Именно поэтому, я в нем указал правильные пути. Просто, что бы не беспокоила мозги.

Настройка отладки
  1. В поле Target выбираем цель CMake, чей выходной файл мы будем использовать для отладки.
  2. В поле Execitable binary выбираем cам выходной файл.
  3. В Board config file выбираем требуемый конфиг файл OpenOCD (в моем случае для STM32F4 это stm32f4discovery.cfg)
  4. В поле Target выбираем цель CMake, чей выходной файл мы будем использовать для отладки.
  5. В поле Before launch выбираем цели CMake, которые должны быть выполнены до запуска отладки, как минимум это должен быть Build.
  6. Закрываем все после Apply.

В открывшейся вкладке Debug, зайдя на вкладку Peripherals можно скормить *.svd файл регистров для МК и сделать доступным их просмотр.

Настройка Custom Targets

При открытии проекта, IDE так же импортирует кастомные цели CMake, там могут быть всякие полезности, вроде стирания мк, прошивки дополнительных устройств, сборка смежных проектов и т.п.
К сожалению, нормально заставить работать я их не смог. Они очень хотят executable файл, которого может попросту не быть для этой цели, а если он и есть — надо бы уметь его подтягивать с CMakeLists.txt, на не вписывать в ваши локальные конфиги IDE.

Я запросил ответа у поддержки, по результатам поправлю.

Как настроить CLion актуальной версии для запуска и компиляции

При кодировании C L ion позволяет ва м вообще забыть о рутине. Компилятор и отладка кода в C L ion просто на высоте. Вы можете четко сконцентрироваться только на важном, а все остальное этот редактор возьмет на себя. Данная IDE способна повысить в ашу производительность за счет «умного» и своевременного автозавершения кода, мгновенной навигации по документу и надежного рефакторинга.

Преимущества C L ion перед другими IDE

  1. Легкий старт. В данной IDE очень легко начать новый проект , ф айлы могут быть добавлены в проект одним щелчком мыши.
  2. Умный редактор. Благодаря своей умной среде, C L ion анализирует ваш код, понимает ваш проект и старается увеличить вашу скорость написания кода за счет интеллектуального автозавершения.
  3. Навигация и поиск. Найти необходимый «кусок» кода не составит труда — мгновенная навигация по символу, классу или файлу в этом помогает.
  4. Генерация кода и рефакторинг. C L ion экономит вам время за счет генерации кода — от геттеров/сеттеров до более сложных шаблонов.
  5. Анализ кода на лету. У вас есть возможность писать красивый и правильный код. Данная IDE «на лету» проводит статический анализ вашего кода для поддерживаемых языков , п оэтому она способна сразу показывать вам предупреждения и ошибки.
  6. Настройка редактора. Гибкая система настройки C L ion позволяет выбирать тему редактора, раскладку клавиатуры и др. В общем , позволяет вам полностью настроить C L ion под себя.
  7. Запуск и отладка C L ion. Вы можете запускать и отлаживать свою программу как локально, так и удаленно.
  8. Динамический анализ. Если использовать интеграцию с Valgrid Memcheck, Google Sanitizerz и CPU Profiler, то можно легко обнаружить ошибки в памяти, скачки данных и любую другую проблему, также можно с легкостью отслеживать производительность вашей программы.
  9. Поддержка CMake. CMake — это кроссплатформенная система сборки, которая широко используется для проектов С и С++.
  10. Модульное тестирование. CLion поддерживает платформы Google Test, Boost.Test и Catch. Также он имеет встроенный инструмент для запуска тестов.
  11. Документация по коду. В CLion легко документировать свой код. Доступен предварительный просмотр документов в стиле Doxygen во всплывающем окне.
  12. Встроенная разработка. В CLion вы легко можете разрабатывать для микроконтроллеров, используя различные возможности отладки.
  13. Интеграция VCS. Данная IDE предоставляет унифицированный интерфей с для большинства популярных VCS, таких как Git, GitHub, CVS, Perforce и другие.
  14. Удобный терминал. Вы легко можете получить доступ к командной строке через встроенный терминал, можете включить режим эмуляции Vim, можете расширить функциональность среды и другими плагинами.

Как настроить IDE CLion?

  1. Тема редактора. В настройках редактора есть возможность выбрать между светлой и темной темой оформления. Разработчикам с дальтонизмом можно попробовать параметр «Корректировать цвета красно-зеленого дефицита».
  2. Цвета и шрифты. Не стесняйтесь использовать настройки на полную. Вы свободно можете настроить макет цветов , шрифтов и синтаксиса, выделения ошибок, отладчика и т.д. Можете использовать предустановленные схемы цветов или созда ть с нуля сво и .
  3. Комбинации клавиш. IDE CLion по умолчанию предоставляет комбинации клавиш почти для каждой функции. Вы можете выбрать из списка подготовленных схем комбинаций или создать сво и .
  4. Фон редактора. Вы можете оживить редактор этой рабочей среды, установив любое фоновое изображение.
  5. Лигатуры. Если вам нравятся шрифты с лигатурами — используйте их.
  6. Семантическое выделение. Возможно , вам будет полезным способность настроить выделение каждой переменной или параметра своим цветом.

Запуск и отладка CLion

В зависимости от цели вашего проекта (CMake, Makefile, Gradle) CLion будет генерировать необходимую конфигурацию, которую можно будет запустить.

Запуск CLion

  1. Шаблоны конфигурации. Чтобы сократить время, вы можете использовать шаблоны конфигурации для модульного тестирования, удаленной отладки, запуска обычного приложения и т.д.
  2. Конфигурация запуска. Вы можете изменять исполняемый файл любой конфигурации. При желании можете сделать конфигурацию «не рабочей».
  3. Конфигурация отладки. Для старта отладки нужно нажать «Shift+F9». Чтобы проверить состояние отладки , CLion предоставляет много полезных ярлыков.

Отладка CLion

  1. Присоединение к локальному процессу. CLion позволяет отлаживать процессы на локальном компьютере, запускаемые на самом ПК, а не через IDE.
  2. Удаленная отладка GDB. Если у вас есть один запущенный исполняемый файл на локальном ПК под gdbserver, вы можете подключиться к нему с другого компьютера при помощи GDB из CLion.
  3. Контрольные точки. При старте отладки данная IDE может проверить выполнение вашего кода. Вы можете выбрать из нескольких точек останова (точки останова на стоке, символические точки останова, точки останова на исключение).
  4. Точки выполнения. С помощью действия Set Execution Point to Cursor вы можете перемещаться вперед/назад в процессе выполнения отладки, вы можете прерывать или перезапускать циклы и др.
  5. Отладка root. CLion может запускать и отлаживать вашу программу с правами root, если вы выберете эту опцию.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Как добавить недостающие типы конфигураций в CLion?

При создании любого проекта в CLion, я могу выбрать лишь Debug:

B-6Lfz8pc7s.jpg

Однако, в руководстве написано, что мне предоставлен выбор из четырех типов: Debug, Release, RelWithDebInfo, MinSizeRel

Не смотря на то, что в CMakeLists.txt я могу установить желанную мне сборку напрямую, я бы хотел делать это через настройку конфигурации проекта в CLion.

  • Вопрос задан более трёх лет назад
  • 478 просмотров

Комментировать
Решения вопроса 1

MrNexeon

Nexeon @MrNexeon Автор вопроса

Оказалось, что в версии 2016.3 убрали поддержку сбороки для четырех типов конфигурации CMake, оставив по-умолчанию лишь один тип Debug, который можно изменить напрямую в настройках:

Settings -> Build, Execution, Deployment -> CMake

Однако, в версии 2016.3.2 функционал расширили для удобства, теперь можно добавлять новые сборки (из шаблонов также) и выбирать их в настройках конфигурации проекта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *