Как установить codelite на linux

Обновлено: 03.07.2024

Итого, пришлось самому вникать во все тонкости. В результате получилась такая статья.
Может кому будет полезно.

Отдельно стоит сказать про использование STM Standard Peripheral Library (SPL).
Обычно (на просторах интернета), предлагается создать файл конфигурации, например, stm3210x_conf.h и в нем включать необходимые хэдеры от SPL. При этом исходные коды SPL также предлагается включать в проект и компилировать вместе со своими исходниками.
Данный подход очень распространен среди приверженцев Make файлов.

Но для чего так делать? Зачем таскать в своём проекте весь SPL и CMSIS, как-то их конфигурировать через .h файлы, если можно собрать SPL и CMSIS в статическую библиотеку и затем просто линковать её к своему проекту?
Это позволит отделить SPL от непосредственно разрабатываемого софта и в целом упростит использование.


Установка тулчейна для STM32 в Ubuntu Linux
Первое что нужно сделать - это установить компилятор.
Мы сознательно не будем заниматься "красноглазием" - скачивать кучу пакетов, настраивать и собирать GCC из исходников.

Есть правильный путь - установка из PPA.

  1. Открываем Settings -> Build Settings
  2. Напротив надписи "Create New Compiller. " жмем кнопку "New. "
  3. Вводим имя нового компилятора. Любое. Например ARMNE (ARM None Eabi).
  4. Жмем кнопку "Ок"

user posted image

По завершении жмем "Ок".
На этом настройка CodeLite закончена.

Если при создании нового компилятора, он не появился в списке слева, то закройте окно Build Settings и откройте его снова. Созданный компилятор появится. Это баг CodeLite.


Сборка CMSIS и SPL в статическую библиотеку
Пора собрать обещанную библиотеку, которая очень сильно упростит нам разработку под STM32.

В этой статье рассматривается сборка под SMT32F10X MD контроллеры.
Если Вы используете другую серию микроконтроллеров, то Вам потребуется заменить некоторые параметры конфигурации проекта на соотествующие Вашим микроконтроллерам.

Итак, создаем новый проект Static Library и назовем его libSTM32F10X.
Т.к. линеек котроллеров серии 10Х несколько, то создадим конфигурацию проекта через "Build -> Configuration Manager"
В данном случае это будет STM32F10X_MD.

И начинаем настраивать проект:

user posted image

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

В настройка комилятора укажем дефайн, индивидуальный для кофигурации STM32F10X_MD.
Этот дефайн необходим для SPL.

user posted image

И напоследок укажем глобальные настройки проекта, которые применяются для всех конфигураций.

user posted image

С настройкой проекта покончено.
Можно бы уже собрать, но вот собирать пока нечего. исходники то мы не положили

В папке с проектом создаем папки src и include, в которых у нас будут находиться исходники и заголовочные файлы соответственно.

Теперь идем на сайт ST и качаем оттуда последюю версию стандартной библиотеки.
На момент написания статьи это была версия 3.5.0.

Библиотека для разработки GUI приложений wxWidgets продолжает развиваться и на сегодняшний день (лето 2020) уже доступна версия 3.1.3. Библиотека помогает создавать кроссплатформенные приложения, при этом максимально используя родные графические элементы операционной системы. Другой на мой взгляд важной особенностью библиотеки является то, что на текущий момент ее лицензия позволяет также создавать закрытые коммерческие приложения. В третьих — доступны исходные коды библиотеки. Более того, библиотека прекрасно интегрируется в Codelite — open-source кроссплатформенной средой разработки.

Как это зачастую бывает у некоммерческих проектов — для «непродвинутых» пользователей установка и настройка рабочей среды для разработки приложений на wxWidgets — нетривиальная задача. Помню времена Delphi 2007 — когда запустил инсталятор и через пару минут уже начал рисовать форму с кнопочками. Пару часов и программа для расчета КПД по измеренным вольт-амперным характеристикам солнечного элемента готова. С wxWidgets первый раз было все сложнее. Благодаря долгому чтению разрозненных мануалов и инструкций, в т.ч. на хабре мне как-то удалось один раз установить и настроить библиотеку. Однако полного понимания сути происходящих процессов я так не получил. И в очередной раз устанавливая новую версию библиотеки пришлось снова потратить немало времени, чтобы разобраться в вопросе. Данная заметка надеюсь добавит немного большего понимания того как происходит установка и что там внутри для тех, кто как и я, решились окунуться в мир программирования GUI-приложений на основе wxWidgets. В отличие от большинства инструкций здесь обойдемся без компиляции исходных кодов библиотеки.

Исходные данные:
Компьютер под управлением 64 битной Windows 7, 8 или 10 и как всегда нехватка времени.

С Visual Studio у меня с самого начала не задалось, после компактной и быстрой Delphi 2007 хотелось чего-то похожего, но под c++ разработку. Codelite стала для меня той самой компактной и быстрой IDE. Размер инсталятора для Codelite 14 занимает всего 33 МБ.

Итак, скачиваем установочный файл Codelite Stable 64 бит с сайта. Его установка не вызывает трудностей. После установки пока не запускайте программу. Она попытается выполнить поиск установленных компиляторов, а их может там и не быть. Поэтому вторым шагом мы будем ставить компилятор.

Под понятием «компилятор» в широком смысле скрывается набор программ для компиляции. Это и сам компилятор и линковщик и еще куча вспомогательных утилит. Есть платные и бесплатные компиляторы. С закрытым и открытым кодом. Допускающие создавать коммерческие проекты или нет.

image

Путь можно указать например C:\mingw-w64. Инсталлятор загрузит и установит выбранный компилятор. В итоге по адресу C:\mingw-w64\mingw64\bin будут находится exe файлы компилятора. Позже добавим этот путь к системной переменной path

image

Номер версии имеет значение и должен соответствовать версии компилятора. Сайт предложит скачать на выбор: архив с заголовочными файлами, Development Files и Release DLLs под 32 или 64 версию. Прежде чем скачивать хочу рассказать про ньюанс с работой wxWidgets. Так выглядит опция для с++ компилятора в настройках проекта по-умолчанию с использованием wxWidgets в Codelite IDE под Windows:


Как видим — никаких путей до библиотеки и ее заголовочных файлов. Пути и директивы компилятору будут отправлены после выполнения команды $(. ) в оболочке. Забегая вперед — на настроенной системе результат выполнения команды будет примерно такой:


Чтобы вся эта конфигурация с wx-config заработала нужно проделать следующее:
1) С того же раздела «Загрузки» скачиваем исходные коды библиотеки wxWidgets (Windows Installer). Запускаем инсталятор и указываем каталог для установки C:\wx. Ничего компилировать мы не будем. Зато получим заголовочные файлы, структуру каталогов, примеры и если что, можем подсмотреть в исходных файлах реализации функций.

2) Скачиваем также файл «Development Files» в разделе wxWidgets binaries для 64 битной версии нашего компилятора (MingGW-w64 8.1). Распаковаваем содержимое в C:\wx\lib\ попутно переименовав каталог gcc810_x64_dll в gcc_dll. В итоге путь до файлов должен получиться C:\wx\lib\gcc_dll\ В этом каталоге будут файлы с расширением *.a и *.dll, а также два каталога: mswu и mswud.

Последний штрих. Добавляем системные переменные.

В переменную path в конец добавим:


image

А в переменные среды для текущего пользователя:


image

После добавления переменных обязательно нужно выйти из системы либо перезагрузить компьютер.

Теперь все готово чтобы в первый раз запустить Codelite. Программа предложит выбрать «Стиль кодирования». Выбираем профиль «C/C++ Development». Далее предложит просканировать компьютер на наличие установленных компиляторов. Жмем на Scan и выбираем наш установленный ранее MinGW. Далее можно выбрать цветовую тему и как осуществлять отступы (пробелом или табом). Программа сама перезапустится для применения изменений.
Далее создаем новый Workspace C++ и указываем для него путь. Создаем новый проект путем нажатия на имени Workspace в навигационной панели правой клавишей мыши New->New Project

image

В окне настроект проекта выбираем поля как на рисунке. Жмем OK. Далее полностью ракрываем дерево проекта в левой части экрана и двойным щелчком открываем файл main.cpp. Родной пример для меня, как новичка, был сложен для понимания, поэтому прикладываю свою заготовку файла main.cpp:

Комбинацией CTRL+F5 компилируем, собираем и запускаем проект.

image

Получившийся exe файл имеет следующие зависимости:

image

Для того, чтобы он запустился на другом компьютере необходимо к нему в тот же каталог добавить несколько dll. В данном примере это пара библиотек wxWidgets и компилятора minGW:

Для более серьезных проектов понадобится использовать больше зависимостей, поэтому стоит скачать с сайта wxWidgets помимо Development Files еще и Release DLLs под свой компилятор.

Все. Надеюсь быстрый старт получился действительно быстрым. У данного способа есть недостаток — данные бинарные файлы WxWidgets рассчитаны на динамическую линковку с приложением, поэтому создать монолитный exe файл, запускающийся на других компьютерах таким способом не получится. По крайней мере мне не удалось.

У начинающих пользователей Linux часто возникает вопрос, каким же образом установить какое-либо программное обеспечение (ПО), которого нет в стандартных репозиториях дистрибутива? Такая необходимость возникает по нескольким причинам. Например, необходимо использовать самую актуальную версию ПО в то время как в репозиториях всё ещё имеется более старая. Или же нужно использовать экзотические программные продукты, поддержка которых изначально не предусмотрена разработчиками дистрибутива. В данной статье будет изложено на некоторых примерах, каким образом добавлять репозитории в Linux и устанавливать стороннее ПО для Debian-систем, таких, как Ubuntu.

Концепция репозиториев программ в Linux

Как известно, философия распространения и поддержки ПО в Linux основана на репозиториях — специализированных хранилищах пакетов, содержащих файлы какого-либо ПО. Эти хранилища могут быть как удалёнными, так и локальными. Практически любой дистрибутив Linux снабжается стандартными репозиториями. Которые, в свою очередь, содержат ПО, собранное, оптимизированное и протестированное для данного дистрибутива. Доступ к репозиториям осуществляется с помощью систем управления пакетами (СУП), также специфичными для каждого дистрибутива. Например, для систем Ubuntu, да и вообще для Debian-ориентированных дистрибутивов в качестве стандартной СУП является утилита APT. Любая СУП позволяет (во всяком случае должна) искать, устанавливать, удалять пакеты, очищать их конфигурацию, определять зависимости и как не трудно догадаться — добавлять и удалять репозитории. Для всех перечисленных задач можно использовать как командную оболочку, так и графические утилиты с удобным и наглядным пользовательским интерфейсом.

Для обеспечения безопасности пользователей репозитории должны подписываться ключами шифрования. Чтобы гарантировать, что установка пакетов ПО производится из надёжного источника. Владельцы репозиториев, подписав его своим закрытым ключом, выкладывают в общий доступ соответствующий открытый ключ для этого репозитория. Открытый ключ необходим для добавления удалённого подписанного репозитория, это контролируется средствами СУП. Как правило, открытый ключ необходимо импортировать отдельно. На первый взгляд это не очевидно, однако необходимо для обеспечения безопасности системы.

Добавление репозиториев в командной оболочке

Как это ни странно, но эффективнее и удобнее производить управление репозиториями из командной оболочки. Как правило, в Debian-системах используется СУП APT, поэтому все представляемые далее команды будут относиться к этой системе управления пакетами.

Здесь следует обратить внимание на ту часть записи, в которой указывается версия дистрибутива (bionic), в данном случае это Ubuntu 18.04 Bionic Beaver. Для каждой из версий существуют свои особенности в сборке ПО и формировании для неё пакетов. Обычно разработчики делают сборки для нескольких версий дистрибутивов и указывают соответствующие ссылки для них. Это следует учитывать, иначе пакеты могут быть некорректно установлены.
Далее необходимо обновить индекс базы данных состояния пакетов, поскольку был добавлен новый репозиторий:

Теперь можно установить и сам пакет codelite:

Использование графических утилит

В данном случае добавление репозиториев происходит далеко не так быстро, как в консоли. Но для новичков и малоопытных пользователей данный способ гораздо более прост и нагляден. В Ubuntu существуют различные менеджеры пакетов, такие как Muon (в основном для KDE), Synaptic (для любых окружений рабочего стола), а также стандартная графическая утилита «Программы и обновления» для окружения Unity. Все перечисленные инструменты объединяет наличие в главном меню пункта для настройки «Источников ПО» или «Другого ПО». Например, для Muon это выглядит так:

Рис. 2: Доступ к редактированию списка репозиториев в Muon для KDE

Рис. 2: Доступ к редактированию списка репозиториев в Muon для KDE

Редактирование списка репозиториев в Muon:


Рис. 3: Диалог для редактирования списка репозиториев в Muon.

То же самое, но с использованием Synaptic. Доступ к редактированию репозиториев осуществляется через меню «Настройки» и далее, пункт «Репозитории»:

Рис. 4: Диалог управления репозиториями в Synaptic.

Рис. 4: Диалог управления репозиториями в Synaptic.

Теперь можно добавить все нужные репозитории (или удалить/отключить ненужные). Сохранить изменения и графическая утилита автоматически запустит обновление информации о пакетах. После этого с помощью встроенного поиска можно найти интересующий пакет и, отметив его для установки/удаления (или обновления) применить сделанные изменения.

Добавление ключей подписи репозиториев

Чтобы добавить нужный открытый ключ необходимы 3 вещи:

  1. Сам ключ (или последние его 8 символов), в данном случае это BE80DFE08E782DB0;
  2. Результат запроса к серверу ключей, на котором хранится закрытая часть ключа;
  3. Данные для добавления в систему открытого ключа.

Данный вывод говорит о том, что запрос выполнен успешно. И теперь все необходимые данные для формирования открытого ключа есть. Теперь необходимо из данного набора данных выполнить экспорт открытой части ключа. И далее, добавить её в базу СУП APT. Это выполняется двумя командами, но удобнее их объединить сразу в один конвейер:

Теперь ключ добавлен и СУП сможет работать с репозиторием. Как видно, для добавления ключа использовалась команда APT apt-key add.
В заключение важно отметить, что при работе с ключами активно используется утилита gpg. Её значение для обеспечения безопасности и защиты данных среди свободных инструментов сложно переоценить. Умение работать с GPG, как можно видеть, существенно упрощает и работу с APT.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

  • поиск пакетов в репозиториях;
  • установка пакетов из репозиториев с удовлетворением зависимостей;
  • обновление системы;
  • удаление ненужных пакетов.
Такой надстройкой в Fedora является DNF (Dandified YUM). Разберем более подробно как и с помощью каких программных средств работать с RPM и DNF.

Работа с RPM и DNF в консоли

RPM и DNF являются консольными программами. Для работы с менеджерами пакетов запустите программу Konsole (эмулятор терминала среды KDE).

Для получения полной справки введите команду:

Установка пакетов производится в режиме суперпользователя (root). Если ваш аккаунт имеет администраторские полномочия, то воспользуйтесь утилитой sudo :

Если таких полномочий нет, то стандартной командой su :

Формат команд RPM:

Некоторые наиболее часто используемые параметры команды rpm :

Параметры (иначе, ключи) можно использовать сгруппировав, например, так:

Следующей командой будут установлены все RPM-пакеты в текущей директории:

Выполните команду установки пакета:

Результат и степень выполнения будет отображаться ниже:

В данных примерах разрешения зависимостей не потребовалось.

Список всех пакетов установленных в системе и их размеры можно получить с помощью следующей команды:

Для получения полной справки введите команду:

Использование команды:

Некоторые наиболее часто используемые команды:

Обратите внимание на то, что после команды указывается имя пакета, а не файла!

Замечательной особенностью DNF является установка не отдельных пакетов, а целой группы пакетов специального назначения всего одной командой! Такая необходимость возникает, например, после установки дистрибутива. Для того, чтобы увидеть список доступных для установки групп, необходимо ввести следующую команду:

DNF поддерживает следующие команды для работы с группами:

Некоторые параметры dnf (полный список смотрите в справке к программе):

Фронтэнд dnfdragora

Совет. Если по каким-либо причинам приложение стало закрываться аварийно, то попробуйте удалить файл конфигурации

/.config/dnfdragora.yaml и перезапустить приложение.


Центр программ KDE Discover


Утилита alien

Что делать, если необходимо установить в Fedora пакет .deb (конкурирующего менеджера из мира Debian), которого нет в дистрибутиве? Или наоборот: как в Debian установить rpm-пакет? На помощь приходит утилита alien. alien способна преобразовывать пакет одного формата в другой, например rpm deb . Утилита работает не только с пакетами rpm и ded, но мы ограничимся только этими форматами. Рассмотрим практический пример. На сайте программы XMind разработчики выложили для скачивания только deb-пакет.

Нам не остается ничего другого, как установить в Fedora пакет, сконвертированный из deb-пакета. Скачиваем файл пакета (

84Мб). Далее, переходим в директорию загрузки и в консоли выполняем последовательно следующие команды:

Первая команда установит пакет alien в Fedora Linux.
Вторая команда, собственно, запустит процесс преобразования deb -> rpm . В результате пакет xmind-linux-3.4.1.201401221918_i386.deb будет преобразован в пакет xmind-3.4.1-2.i386.rpm.
Третья команда инсталлирует новый пакет в системе Fedora.
Некоторые параметры команд:

DeltaRPM

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: