BlinCT
4 января 2019 г. 13:55

SNAP Урок 04. Работаем с деплоем для Qt приложений на основе снап пакета

Всех приветствую на продолжении темы работы со snap пакетами.
Очень часто бывает так, что разработчику требуется узнать все зависимости приложения. И это не просто узнать, имеет ли одна библиотека в зависимости другую.


А для того чтобы собрать снап пакет со всеми зависимостями, что очень важно.
И сейчас я вам продемонстрирую работу интересного приложения под названием cqtdeployer. Принцип работы таков, что ему нужно скормить бинарник приложения и путь к каталогу с qml, а cqtdeployer соберет вам все его qt зависимости.

Данный проект есть на гите, но так как он уже собран и есть в снап пакете то нету смысла его с гита копировать.

  1. Установка (--classic данный ключ как я писал ранее говорит о том, что приложение имеет, как и deb пакет, доступ к системе)

    1. snap install cqtdeployer --classic

  2. Клонируем тестовый проект, с помощью которого получим его зависимости, и соберём свой снап пакет

    1. git clone https://github.com/QuasarApp/Console-QtDeployer.git
    2. Console-QtDeployer/examples/TestQMLWidgets (заходим в каталог проекта)

  3. Собираем проект TestQMLWidgets.pro (или через консоль, или из Qt Creator)

  4. Теперь начинаем сбор всех зависимостей данного приложения

    1. cqtdeployer -bin ./build/TestQMLWidgets -qmake /path/to/your/qmake/bin/qmake -qmlDir ./ -targetDir ./distro

  5. cqtdeployer имя самого снап пакета (а далее скармливаем ему аргументы)

  6. -bin : после путь до бинарника программы
  7. -qmake : путь к qmake именно той версии, которой мы собирали данное приложение
  8. -qmlDir : путь куда складывать деплой. Если указать ./ то около бинарника проекта появится каталог с тем, что нам нужно
  9. -targetDir : имя каталога, куда складывать зависимости

После всех манипуляций выполняем команду для сборки снап пакета

  1. snapcraft

и его установки

  1. snap install cqtdeployerexample_0.1_amd64.snap --dangerous

Запуск снап пакета

  1. cqtdeployerexample

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

Отдельную благодарность разработчику данного приложения.
QuasarApp

Рекомендуемые статьи по этой тематике

По статье задано0вопрос(ов)

3

Вам это нравится? Поделитесь в социальных сетях!

Andrei Yankovich
  • 26 февраля 2019 г. 12:34
  • (ред.)

По поводу установки

Разработчики snap отключили возможность устанавливать приложение в класическом режиме и из-за этого утилита может работать не правельно.
до тех пор пока билд в snapstore не будет обновленн, можно использовать сборку из gitHub

Andrei Yankovich
  • 8 апреля 2019 г. 19:48
  • (ред.)

CQDeployer обновился и работает корректно. теперь можно пользоватся сборкой с snap store

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь