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
d
  • dsfs
  • 26 квітня 2024 р. 14:56

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

  • Результат:80бали,
  • Рейтинг балів4
d
  • dsfs
  • 26 квітня 2024 р. 14:45

C++ - Тест 002. Константы

  • Результат:50бали,
  • Рейтинг балів-4
d
  • dsfs
  • 26 квітня 2024 р. 14:35

C++ - Тест 001. Первая программа и типы данных

  • Результат:73бали,
  • Рейтинг балів1
Останні коментарі
k
kmssr09 лютого 2024 р. 05:43
Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий Кононенко05 лютого 2024 р. 12:50
Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25 грудня 2023 р. 21:30
Boost - статичне зв&#39;язування в проекті CMake під Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
J
JonnyJo25 грудня 2023 р. 19:38
Boost - статичне зв&#39;язування в проекті CMake під Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
G
Gvozdik19 грудня 2023 р. 08:01
Qt/C++ - Урок 056. Підключення бібліотеки Boost в Qt для компіляторів MinGW і MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Тепер обговоріть на форумі
Evgenii Legotckoi
Evgenii Legotckoi03 травня 2024 р. 00:07
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.
IscanderChe
IscanderChe30 квітня 2024 р. 14:22
Во Flask рендер шаблона не передаётся в браузер Доброе утро! Имеется вот такой шаблон: <!doctype html><html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="{{ url_…
G
Gar22 квітня 2024 р. 15:46
Clipboard Как скопировать окно целиком в clipb?
Павел Дорофеев
Павел Дорофеев14 квітня 2024 р. 12:35
QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь
f
fastrex04 квітня 2024 р. 14:47
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…

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