Документация
ОС Аврора 5.0.1

Build Tools

Аврора BT (Build Tools) — следующее поколение инструментов кросс сборки приложения для ОС Аврора. Это вариант поставки, позволяющий использовать инструменты кросс-компиляции.

Содержание

Особенности

BT поставляется в Docker-образе, содержит в своём составе все необходимые инструменты сборки и имеет следующие особенности:

  • Сформированы sysroots для всех поддерживаемых платформ (aarch64, armv7hl, x86_64).
  • Имеет в составе кросс-компиляторы для всех поддерживаемых платформ.
  • Имеет набор макросов для кросс-компиляции qmake-проектов.
  • Фиксирован и привязан к релизу ОС. Отсутствуют механизмы обновления и доустановки пакетов из репозиториев. Добавить инструменты можно, собрав их из исходников и сохранив как дополнительный слой для Docker-образа. Docker-образ поставляется в составе Аврора SDK в качестве движка сборки. Инструкция по установке Docker для различных ОС находится в разделе Установка Docker.
  • Основной инструмент сборки в SDK (BT) — apptool.

Работа с Build Tools без установки Аврора SDK

Build Tools можно использовать без установки Аврора SDK (BT). Для этого необходимо скачать docker-образ Aврора BT, выполнив команду:

docker pull <URL_откуда_скачивать>:<номер_релиза>

Пример:

docker pull hub.omp.ru/public/sdk-build-tools:5.1.0

Работа с Build Tools после установки Аврора SDK

Build Tools также можно использовать, установив Аврора SDK (BT). Для создания нового проекта и его сборки с помощью Build Tools в Docker-контейнере нужно:

  1. Установить Docker.
  2. Скачать установочный файл Аврора BT из раздела «Загрузки».
  3. Запустить мастер установки. Шаги установки Аврора BT аналогичны шагам установки Аврора SDK с инструментом сборки mb2. Единственное отличие — технология виртуализации по умолчанию Docker.
  4. Создать первый проект в Аврора IDE.
  5. Запустить приложение.

В результате успешной сборки в директории проекта появится папка RPMS:

Результат успешного запуска

Данная директория содержит RPM-пакеты с архитектурами aarch64, armv7hl и x86_64.

При разработке приложения с помощью Аврора BT необходимо в spec-файле вручную установить флаги для файлов:

%files
%defattr(-,root,root,-)
%{_bindir}/%{name}
%defattr(644,root,root,-)
%{_datadir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png

Если не прописать установку флагов с помощью defattr, то валидатор на Windows и macOS будет выдавать ошибку:

107 blocks
(ERROR)		[/usr/share/applications/ru.template.untitled.desktop] Executable has a wrong format or encoding
(ERROR)		[/usr/share/icons/hicolor/108x108/apps/ru.template.untitled.png] Executable has a wrong format or encoding
...
(ERROR)		[/usr/share/applications/ru.template.untitled.desktop] File must not be executable
(ERROR)		[/usr/share/icons/hicolor/108x108/apps/ru.template.untitled.png] File must not be executable
...

Это связано с тем, что на Windows и macOS при запуске в докер-контейнере теряются флаги r,w,x у файлов из-за различий в файловых системах.

Ограничения

В интегрированной среде разработки (IDE) при использовании SDK (BT) есть вероятность столкнуться с определёнными проблемами и ограничениями, которые необходимо учитывать при работе, а именно:

  • Docker Desktop либо служба Docker должна быть запущена;
  • на MacOS при использовании в качестве workspace домашней папки появляется предупреждение безопасности и монтировании всей папки в Docker, а также запрашивается доступ к файлам.

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

Пожалуйста ознакомьтесь с политикой использования cookies.