Ich begrüße alle zur Fortsetzung des Themas Arbeiten mit Snap-Paketen.
Es kommt oft vor, dass ein Entwickler alle Abhängigkeiten einer Anwendung kennen muss. Und es ist nicht einfach herauszufinden, ob eine Bibliothek von einer anderen abhängig ist.
Und um ein Snap-Paket mit allen Abhängigkeiten zu erstellen, was sehr wichtig ist.
Und jetzt werde ich Ihnen den Betrieb einer interessanten Anwendung namens cqtdeployer demonstrieren. Das Funktionsprinzip ist so, dass es die Anwendungsbinärdatei und den Pfad zum qml-Verzeichnis füttern muss, und cqtdeployer sammelt alle seine Qt-Abhängigkeiten für Sie.
Dieses Projekt befindet sich auf dem Git, aber da es bereits gebaut wurde und sich im Snap-Paket befindet, macht es keinen Sinn, es vom Git zu kopieren.
Installation (--classic dieser Schlüssel, wie ich bereits geschrieben habe, zeigt an, dass die Anwendung, wie das deb-Paket, Zugriff auf das System hat)
snap install cqtdeployer --classic
Wir klonen das Testprojekt, mit dem wir seine Abhängigkeiten erhalten, und bauen unser Snap-Paket
Git-Klon https://github.com/QuasarApp/Console-QtDeployer.git Console-QtDeployer/examples/TestQMLWidgets (gehen Sie zum Projektverzeichnis)
Wir erstellen das Projekt TestQMLWidgets.pro (entweder über die Konsole oder von Qt Creator)
Jetzt beginnen wir mit dem Sammeln aller Abhängigkeiten dieser Anwendung
cqtdeployer -bin ./build/TestQMLWidgets -qmake /path/to/your/qmake/bin/qmake -qmlDir ./ -targetDir ./distro
cqtdeployer ist der Name des Snap-Pakets selbst (und dann füttern wir es mit Argumenten)
- -bin : nach dem Pfad zur Programmbinärdatei
- -qmake : Pfad zu qmake von genau der Version, mit der wir diese Anwendung erstellt haben
- -qmlDir : Pfad zum Ablegen der Bereitstellung. Wenn Sie ./ angeben, erscheint neben der Projektbinärdatei ein Verzeichnis mit dem, was wir brauchen
- -targetDir : Verzeichnisname, in dem Abhängigkeiten abgelegt werden sollen
Nach all den Manipulationen führen wir den Befehl zum Erstellen des Snap-Pakets aus
snapcraft
и его установки
snap install cqtdeployerexample_0.1_amd64.snap --dangerous
Запуск снап пакета
cqtdeployerexample
Вот в принципе и всё. Теперь, если вы пишите ваши приложения на Qt, то без проблем сможете понять и получить все нужные либы и плагины.
Всем спасибо и оставайтесь с нами.
Отдельную благодарность разработчику данного приложения.
QuasarApp
По поводу установки
Разработчики snap отключили возможность устанавливать приложение в класическом режиме и из-за этого утилита может работать не правельно.
до тех пор пока билд в snapstore не будет обновленн, можно использовать сборку из gitHub
CQDeployer обновился и работает корректно. теперь можно пользоватся сборкой с snap store