CQtDeployer/docs/ru/Guide.md

95 lines
4.2 KiB
Markdown
Raw Normal View History

2020-11-24 13:34:58 +03:00
# Как развернуть приложение C ++
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
В этой статье я описываю процессы развертывания приложения c++/qt с помощью cqtdeployer.
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
## Рекомендация
Если вам нужна максимальная стабильность вашего дистрибутива и вы хотите запускать свое приложение в разных дистрибутивах с разными версиями, вам необходимо использовать Qt из официального [build](https://www.qt.io/download-open-source?hsCtaTracking=9f6a2170-a938-42df-a8e2-a9f0b1d6cdce%7C6cb0de4f-9bb5-4778-ab02-bfb62735f3e5).
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
## Кейс
В этом случае мы развертываем приложение Qt GUI для Ubuntu 16.04, Ubuntu 18.04 и Ubuntu 20.04++.
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
**Если вы хотите поддерживать все дистрибутивы, начиная с Ubuntu 16.04, вам необходимо собрать и развернуть приложение в более старом дистрибутиве (в моем случае это 16.04)**
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
## Установить CQtDeployer
Если вы хотите использовать системный qt из своей ОС, установите [классическую](https://github.com/QuasarApp/CQtDeployer/releases/download/1.4.7/LinuxInstaller.run) версию cqtdeployer.
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
``` bash
wget https://github.com/QuasarApp/CQtDeployer/releases/download/1.4.7/LinuxInstaller.run
```
```
chmod + x LinuxInstaller.run
./LinuxInstaller.run
```
![Настройка CQtDeployer](https://user-images.githubusercontent.com/12465465/100077575-9280a600-2e53-11eb-8d9d-d184341cfa7c.png)
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
Выберите последнюю стабильную версию (1.4)
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
![Настройка CQtDeployer](https://user-images.githubusercontent.com/12465465/100077707-bb08a000-2e53-11eb-9838-6f896af33105.png)
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
Выполнено.
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
Если вы используете официальную сборку qt, вы можете использовать snap-версию cqtdeployer.
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
```
sudo snap установить cqtdeployer
```
После установки добавьте необходимые разрешения.
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
```
sudo snap connect cqtdeployer:process-control
sudo snap connect cqtdeployer:removable-media
sudo snap connect cqtdeployer:system-backup
```
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
Выполнено!!!
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
## Развертывание приложения Qt GUI
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
### Разверните исполняемый файл.
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
* Для систем Linux:
```bash
cqtdeployer -bin myexecutable
```
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
* Для систем Windows:
``` bash
cqtdeployer -bin myexecutable.exe -qmake C: /Qt/5.15.0/min_gw/bin/qmake.exe
2020-11-19 10:14:43 +03:00
```
2020-11-24 13:34:58 +03:00
* Для кроссплатформенной сборки (Linux -> Windows)
2020-11-19 10:14:43 +03:00
``` bash
2020-11-24 13:34:58 +03:00
cqtdeployer -bin myexecutable.exe -qmake ~/crossbuildet-Qt/5.15.0/min_gw/ bin / qmake
2020-11-19 10:14:43 +03:00
```
2020-11-24 13:34:58 +03:00
## Дополнительные параметры
Если вы используете дополнительные библиотеки, просто добавьте путь для cqtdeployer к используемым библиотекам.
``` bash
cqtdeployer -bin myexecutable -libDir/PathToMyExtraLibs
```
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
Если вы хотите найти библиотеки рекурсивно из пути libDir, просто добавьте параметр рекурсивной глубины.
2020-11-19 10:14:43 +03:00
``` bash
2020-11-24 13:34:58 +03:00
cqtdeployer -bin myexecutable -libDir/PathToMyExtraLibs -recursiveDepth 5
```
Если ваше приложение использует qml, просто добавьте опцию qmlDir
2020-11-19 10:14:43 +03:00
``` bash
2020-11-24 13:34:58 +03:00
cqtdeployer -bin myexecutable -libDir/PathToMyExtraLibs -recursiveDepth 5 -qmlDir /path/to/my/qml/sources
```
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
Если вы хотите создать простой установщик для своего приложения, просто добавьте опцию gif.
```
cqtdeployer -bin myexecutable -libDir/PathToMyExtraLibs -recursiveDepth 5 -qmlDir /path/to/my/qml/sources qif
```
2020-11-19 10:14:43 +03:00
2020-11-24 13:34:58 +03:00
Если cqtdeployer не нашел qmake, добавьте параметр -qmake в команду вызова.
2020-11-19 10:14:43 +03:00
```
2020-11-24 13:34:58 +03:00
cqtdeployer -bin myexecutable -libDir / PathToMyExtraLibs -recursiveDepth 5 -qmlDir /path/to/my/qml/sources qif -qmake/path/to/my/qmake
2020-11-19 10:14:43 +03:00
2021-01-19 16:02:08 +03:00
```