Andrei Yankovich
Andrei YankovichМамыр 24, 2021, 10:10 Т.Ж.

C++/Qt және QML қолданбасын орналастыру CQtDeployer v1.5 утилитасының шығарылымы

Выпуск утилиты развертывания приложений C++/Qt и QML CQtDeployer v1.5.0

Logo


Это первое крупное обновление в 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
config

Внимание

Название пакетов в папке 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, 3: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, 7:44 Т.Ж.
  • (өңделген)

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

e
  • Там. 28, 2021, 3:49 Т.Қ.

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

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
Г

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

  • Нәтиже:66ұпай,
  • Бағалау ұпайлары-1
t

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

  • Нәтиже:33ұпай,
  • Бағалау ұпайлары-10
t

Qt - Тест 001. Сигналы и слоты

  • Нәтиже:52ұпай,
  • Бағалау ұпайлары-4
Соңғы пікірлер
G
GoattRockҚыр. 3, 2024, 1:50 Т.Қ.
Linux жүйесінде файлдарды қалай көшіруге болады Задумывались когда-нибудь о том, как мы привыкли доверять свои вещи службам грузоперевозок? Сейчас такие услуги стали неотъемлемой частью нашей жизни, особенно когда речь идет о переездах между …
d
dblas5Шілде 5, 2024, 11:02 Т.Ж.
QML - Сабақ 016. SQLite деректер қоры және онымен QML Qt-та жұмыс істеу Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssrАқп. 8, 2024, 6:43 Т.Қ.
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий КононенкоАқп. 5, 2024, 1:50 Т.Ж.
Qt WinAPI - Сабақ 007. Qt ішінде ICMP Ping арқылы жұмыс істеу Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
Енді форумда талқылаңыз
Evgenii Legotckoi
Evgenii LegotckoiМаусым 24, 2024, 3:11 Т.Қ.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
F
FynjyШілде 22, 2024, 4:15 Т.Ж.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …
BlinCT
BlinCTМаусым 25, 2024, 1 Т.Ж.
Нарисовать кривую в qml Всем привет. Имеется Лист листов с тосками, точки получаны интерполяцией Лагранжа. Вопрос, как этими точками нарисовать кривую? ChartView отпадает сразу, в qt6.7 появился новый элемент…
BlinCT
BlinCTМамыр 5, 2024, 5:46 Т.Ж.
Написать свой GraphsView Всем привет. В Qt есть давольно старый обьект дял работы с графиками ChartsView и есть в 6.7 новый но очень сырой и со слабым функционалом GraphsView. По этой причине я хочу написать х…
Evgenii Legotckoi
Evgenii LegotckoiМамыр 2, 2024, 2:07 Т.Қ.
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.

Бізді әлеуметтік желілерде бақылаңыз