4.2 KiB
Как развернуть приложение C ++
В этой статье я описываю процессы развертывания приложения c++/qt с помощью cqtdeployer.
Рекомендация
Если вам нужна максимальная стабильность вашего дистрибутива и вы хотите запускать свое приложение в разных дистрибутивах с разными версиями, вам необходимо использовать Qt из официального build.
Кейс
В этом случае мы развертываем приложение Qt GUI для Ubuntu 16.04, Ubuntu 18.04 и Ubuntu 20.04++.
Если вы хотите поддерживать все дистрибутивы, начиная с Ubuntu 16.04, вам необходимо собрать и развернуть приложение в более старом дистрибутиве (в моем случае это 16.04)
Установить CQtDeployer
Если вы хотите использовать системный qt из своей ОС, установите классическую версию cqtdeployer.
wget https://github.com/QuasarApp/CQtDeployer/releases/download/1.4.7/LinuxInstaller.run
chmod + x LinuxInstaller.run
./LinuxInstaller.run
Выберите последнюю стабильную версию (1.4)
Выполнено.
Если вы используете официальную сборку qt, вы можете использовать snap-версию cqtdeployer.
sudo snap установить cqtdeployer
После установки добавьте необходимые разрешения.
sudo snap connect cqtdeployer:process-control
sudo snap connect cqtdeployer:removable-media
sudo snap connect cqtdeployer:system-backup
Выполнено!!!
Развертывание приложения Qt GUI
Разверните исполняемый файл.
- Для систем Linux:
cqtdeployer -bin myexecutable
- Для систем Windows:
cqtdeployer -bin myexecutable.exe -qmake C: /Qt/5.15.0/min_gw/bin/qmake.exe
- Для кроссплатформенной сборки (Linux -> Windows)
cqtdeployer -bin myexecutable.exe -qmake ~/crossbuildet-Qt/5.15.0/min_gw/ bin / qmake
Дополнительные параметры
Если вы используете дополнительные библиотеки, просто добавьте путь для cqtdeployer к используемым библиотекам.
cqtdeployer -bin myexecutable -libDir/PathToMyExtraLibs
Если вы хотите найти библиотеки рекурсивно из пути libDir, просто добавьте параметр рекурсивной глубины.
cqtdeployer -bin myexecutable -libDir/PathToMyExtraLibs -recursiveDepth 5
Если ваше приложение использует qml, просто добавьте опцию qmlDir
cqtdeployer -bin myexecutable -libDir/PathToMyExtraLibs -recursiveDepth 5 -qmlDir /path/to/my/qml/sources
Если вы хотите создать простой установщик для своего приложения, просто добавьте опцию gif.
cqtdeployer -bin myexecutable -libDir/PathToMyExtraLibs -recursiveDepth 5 -qmlDir /path/to/my/qml/sources qif
Если cqtdeployer не нашел qmake, добавьте параметр -qmake в команду вызова.
cqtdeployer -bin myexecutable -libDir / PathToMyExtraLibs -recursiveDepth 5 -qmlDir /path/to/my/qml/sources qif -qmake/path/to/my/qmake