我有一个用QT5编写的Linux桌面应用程序,我想将它部署为SNAP包。 构建和安装有效,但应用程序不可执行,并出现以下错误:
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
这是我的snapcraft.yaml
name: animationmaker
version: '1.0'
summary: Create keyframe animation and export them to a movie file
description: |
This app can be used to create animated movie based on keyframe animations.
grade: stable
confinement: strict
apps:
animationmaker:
command: AnimationMaker
parts:
animationmaker:
plugin: qmake
qt-version: qt5
source: https://github.com/Artanidos/AnimationMaker.git
我认为QT5的插件丢失但我不知道如何更改yaml以包含它们。 当我构建一个AppImage时,有以下插件包括iconengines,imageformats和platform。 有任何想法吗?
答案 0 :(得分:0)
插件包含在libqt5gui5
中,您可以将其添加为舞台包,如下所示:
parts:
animationmaker:
plugin: qmake
qt-version: qt5
source: https://github.com/Artanidos/AnimationMaker.git
stage-packages: [libqt5gui5]
然而,Snapcraft支持远程部件,其中一个是一个出色的桌面Qt帮助器,可以为您提供这类东西,并设置一个共同的环境等。它有很好的记录in this tutorial,但为了完整,试试这个:
parts:
animationmaker:
plugin: qmake
qt-version: qt5
source: https://github.com/Artanidos/AnimationMaker.git
after: [desktop-qt5]
使您的应用使用desktop-launch
帮助:
apps:
animationmaker:
command: desktop-launch AnimationMaker