CQtDeployer/ru
CQtDeployer (произносится «си-къют-деплоер») — кроссплатформенная утилита развертывания C++ Qt или QML приложений.
Использование cqtdeployer может значительно упростить развертывание C++ Qt или QML проектов.
Важно
Данная утилита не является официальной разработкой qt и поддерживается силами сообщества.
Основные отличия этой программы:
- Производительность - эта программа развертывает приложение до 10 секунд.
- Гибкость - это приложение имеет флаги, которые помогут вам настроить деплоинг под ваши нужды и нужды вашего проекта
- Crossdeploy: приложение поддерживает Windows и дистрибутивы Linux, это означает, что вы можете использовать его не только для развертывания проекта для вашей платформы, но и для развертывания проекта в Linux для Windows и наоборот.
Принцип работы CQtDeployer
Утилите передаются пути к исполняемым файлам разворачиваемых программ при помощи флага -bin. Переданные программы анализируются и рекурсивно извлекается список зависимостей. Если развертываемые программы зависит от Qt, то исходя из зависимостей формируется список модулей. В зависимости от используемых модулей qt, развертываются плагины qt. Затем копируются qml плагины если такие требуются и стандартные переводы qt. После выполнения всех описанных шагов формируются скрипты для запуска приложения.
Пример использования
Linux:
cqtdeployer -bin myApp -qmake /media/D/Qt/5.12.5/gcc_64/bin/qmake -qmlDir ./
Windows:
cqtdeployer -bin myApp.exe -qmake /media/D/Qt/5.12.5/gcc_64/bin/qmake.exe -qmlDir ./
Где:
- cqtdeployer - это вызов утилиты. (до версии 1.4 в Windows использовалась команда %cqtdeployer%)
- -bin - флаг для передачи путей исполняемых файлов приложения.
- myApp.exe и myApp - сам путь к исполняемому файлу приложения
- -qmake - флаг для передачи путей к qmake для развертывания qt.
- -qmlDir - флаг для передачи путей к qml файлам приложения.
Поддерживаемые версии Qt
CQtDeployer поддерживает развертывания 'Qt4' , 'Qt5' и 'Qt6' (начиная с версии 1.4.7).
Snap версия
CQtDeployer для Linux платформ распространяется в 2х видах:
Версия для Snap работает в изолированном контейнере, из-за этого утилита не имеет доступа к системным файлам и библиотекам (/lib/, /usr/lib/).
Чтобы разрешить доступ к системным библиотекам, включите все разрешения для cqtdeployer.
Это можно сделать в snap-store
Или начиная с ubuntu 20.04 в менеджере настроек приложений ubuntu.
Если у вас нет графического интерфейса, вы можете включить все разрешения, используя следующие команды:
- sudo snap connect cqtdeployer:process-control
- sudo snap connect cqtdeployer:removable-media
- sudo snap connect cqtdeployer:system-backup