Andrei Yankovich
Andrei Yankovich24 травня 2021 р. 10:10

Випуск утиліти розгортання додатків C++/Qt та QML CQtDeployer v1.5

Випуск утиліти розгортання додатків C++/Qt та QML CQtDeployer v1.5.0

Логотип


Це перше велике оновлення у 2021 році. CQtDeployer 1.5 містить багато корисних покращень. Найбільшими покращеннями є додавання можливості упаковувати пакети deb та можливість використовувати власний шаблон упаковки для середовища установки qt.

Повний список усіх змін

CQtDeployer 1.5.0

Нові можливості

  • Додана нова тема установника qif "quasarDark".
  • Додана підтримка роботи з кастомним шаблоном для опції qif.
  • Додана підтримка пакетів debian.
  • Додана підтримка іконок цілей. Тепер опція icon працює із цілями, але не з пакетами.
  • Додана підтримка управління файлами перекладу користувача.
  • Додана підтримка розгортання файлів, що не виконуються. (опція extraData)
  • Додано змінні оточення для розгорнутих програм.
  • Додана підтримка створення пакетів deb.
  • Додана підтримка створення архівів zip.
  • Додана підтримка створення установника qif з використанням шаблону, що настроюється.
  • Додана команда для ініціалізації шаблонів qif та deb за замовчуванням (getDefaulttemplate)
  • Додана підтримка імпорту користувацьких скриптів запуску.
  • Додана підтримка хешів md5 пакетів.
  • Додана підтримка Qt6.1.

Виправлення

  • Виправлена ​​стабільність для опції deploySystem у Windows.
  • Виправлено докладний журнал.
  • Виправлено загальний журнал виведення.
  • Виправлені друкарські помилки в лозі.
  • Виправлено крос-розгортання під платформу ARM
  • Виправлено розгортання Qt6 qml
  • Виправлені команди PowerShell у Windows.
  • виправлення помилок та покращення.

Нові змінні оточення

  • CQT_RUN_FILE - Ця змінна містить шлях до сценарію виконання використовуваної програми.
  • CQT_PKG_ROOT – ця змінна містить шлях до кореня поточного пакета.

Нові параметри

  • zip - створити ZIP-архів для програми, що розгортається
  • deb - Створити пакет deb для програми, що розгортається
  • homepage - Встановлює URL-адресу домашньої сторінки для пакета
  • noQt – ігнорує помилку ініціалізації qmake. Використовуйте тільки в тому випадку, якщо ваша програма не використовує фреймворк qt
  • allowEmptyPackages - дозволяє настроювати порожні пакети.
  • getDefaultTemplate - Виймає шаблони deb або qif за промовчанням.
  • tr - Додає qm файли до папки перекладів.
  • extraData - додає додаткові файли чи каталоги як ціль. Вибраний каталог буде скопійовано до папки extraDataOut із збереженням власної структури.
  • extraDataOut - Встановлює шлях до каталогу із додатковими файлами даних.
  • prefix - Встановлює префікс для пакету щодо цільового каталогу
  • homePage - Встановлює URL-адресу домашньої сторінки для пакета
  • binPrefix – встановлює префікс для опції bin.
  • noHashSum – відключає хеші кампутних пакетів

Застарілі та віддалені параметри

  • deploySystem-with-libc - замість цього параметра використовуйте параметр deploySystem.
  • allQmlDependes - замість цього параметра використовуйте параметр qmlDir.

Детальний розбір найцікавіших змін.

Пакети Debian

Ця функція дуже зручна, якщо ви хочете створити серверну програму.
Наприклад, мені потрібно створити простий сервер для гри.
Мої кроки:
зібрати мою програму в режимі релізу.
запустіть cqtdeployer з опцією deb.

cqtdeployer -bin mySimpleServer deb -qmake ~/Qt/5.15.2/gcc_64/bin/qmake

SimpleServer залежить тільки від qt, тому мені було достатньо вказати шлях до qmake для мого додатка.

Це все!!!. І я отримую робочий пакет deb.
За промовчанням CQtDeployer створює незалежні пакети debian.

Поштові архіви

Ця функція дозволяє стиснути пакети дистрибутива в zip-архів.

приклад:

cqtdeployer -bin mySimpleServer zip -qmake ~/Qt/5.15.2/gcc_64/bin/qmake

Користувальницький Шаблон для QIF

Починаючи з Версії CQtDeployer 1.5, ви можете використовувати свій власний шаблон установника. Для цього ви повинні передати в qif шлях до вашого шаблону.

cqtdeployer ... -qif /path/to/my/custom/qif/template

Шаблон

Шаблон qif повинен містити 2 папки:
пакети
конфігурація

Увага

Назва пакетів у папці packages повинні співпадати з назвою пакетів під час розгортання.
Наприклад:

"targetPackage": [
    [
        "myCustomInstaller",
        "tar1"
    ]
],
.
├── config
│   ├── config.xml
│   └── style.qss
└── packages
    └── myCustomInstaller
        └── meta
            ├── installscript.qs
            └── package.xml

4 directories, 4 files

Якщо імена папок не співпадають з іменами пакетів, CQtDeployer буде використовувати стандартний пакет для QIF.

Якщо у вас є лише один пакет, ви можете використовувати опцію name для встановлення імені програми.

cqtdeployer ... -qif /path/to/my/custom/qif/template -name myCustomInstaller

Не забудьте перейменувати папку вашого пакета на ім'я пакета з опції імені.

.
├── config
│   ├── config.xml
│   └── style.qss
└── packages
    └── myCustomInstaller  << "This is folder of the your package"
        └── meta
            ├── installscript.qs
            └── package.xml

4 directories, 4 files

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

e
  • 21 серпня 2021 р. 15:16
  • (відредаговано)

Привет.
Подскажите пожалуйста решения двух проблем:
1. Не могу создать установщик с помощью флага qif. просиходит ошибка, но текста ошибки нет. поэтому не знаю куда копать. текст что упаковка не удалась я гуглил, находил только сами исходники деплоера.

"c:\Program Files (x86)\CQtDeployer\1.5\cqtdeployer.bat" -bin test.exe -qmake "c:\Qt\Qt5.6.3\5.6.3\mingw49_32\bin\qmake.exe" qif

ошибка на скрине


  1. В описании новшевств есть флаг tr, но он без параметров не работает. Я предполагал что он скопирует все имеющиеся переводы, но их нужно перечислись при использовании -tr.
    Это так и должно быть, или я что-то делаю не так, и можно сделать так, чтобы деплойер сам забирал все файлы перевода без перечисления?
    (и еще баг форума чтоли, я пишу этот пункт под номером "2.", но после отправки он превращается в "1.")
Andrei Yankovich
  • 27 серпня 2021 р. 07:44
  • (відредаговано)

На данный момент Qt Installer Framework не поддерживает Windows 7
смотрите баг #2224

e
  • 28 серпня 2021 р. 15:49

Благодарю.
Действительно, подменил файлы от версии 4.0, и все заработало)

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up
AD

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50бали,
  • Рейтинг балів-4
m
  • molni99
  • 26 жовтня 2024 р. 01:37

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:80бали,
  • Рейтинг балів4
m
  • molni99
  • 26 жовтня 2024 р. 01:29

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:20бали,
  • Рейтинг балів-10
Останні коментарі
ИМ
Игорь Максимов22 листопада 2024 р. 11:51
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii Legotckoi31 жовтня 2024 р. 14:37
Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZE19 жовтня 2024 р. 08:19
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов05 жовтня 2024 р. 07:51
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas505 липня 2024 р. 11:02
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Evgenii Legotckoi
Evgenii Legotckoi24 червня 2024 р. 15:11
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey115 листопада 2024 р. 06:04
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProject04 червня 2022 р. 03:49
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9Anonim25 жовтня 2024 р. 09:10
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

Слідкуйте за нами в соціальних мережах