Как использовать appimage для развертывания приложения qt5

Я использую appimage http://appimage.org/ чтобы упаковать свое приложение в отдельный исполняемый файл.

Я делаю это на тестировании Debian, Ленни.

Мое приложение использует множество библиотек с открытым исходным кодом (qt, python pythonqt fftw hdf4/5 gsl netpbm qwt), и все было в порядке с использованием Qt4. Я могу скомпилировать свое приложение на debian и создать образ appdir, который без проблем работает на mint (с xfce).

Это перестало работать, когда я переключаюсь на Qt5.

Теперь appimage работает на Debian, но не на Mint, я получаю эту ошибку:

This application failed to start because it could not find or load the Qt platform plugin "xcb".

Available platform plugins are: eglfs, kms, linuxfb, minimal, minimalegl, offscreen, xcb.

Reinstalling the application may fix this problem.
Aborted

Обратите внимание, что messege не согласован: сначала он говорит, что мне не хватает xcb и чем он делает доступным.

Я скопировал каталог плагинов в моем приложении usr/lib дерево. У меня на хосте установлен xcb apt-get install libx11-xcb1

Мой файл AppRun выглядит так:

#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
cd "${HERE}/usr/"
export LD_LIBRARY_PATH="${HERE}/usr/lib/:${LD_LIBRARY_PATH}"
export PATH="${HERE}/usr/bin:${PATH}"
export QT_PLUGIN_PATH="${HERE}/usr/lib"
exec "${HERE}/usr/bin/Neutrino" "$@"
cd -

Что мне не хватает?

1 ответ

Решение

Многие приложения Qt5, такие как Krita, Scribus и Subsurface, распространяются как AppImages, так что это определенно возможно.

Возможно, вам не хватает некоторых компонентов, которые необходимо связать внутри AppImage. В частности, плагины Qt должны быть включены в AppImage, чтобы он работал.

Смотрите здесь пример приложения Qt5.5, упакованного как AppImage.

Обратите внимание, что обычно для компиляции рекомендуется использовать старую базовую систему, такую ​​как CentOS 6, потому что результирующие AppImages будут совместимы с большим количеством дистрибутивов, а не только с последними.

Если вы разместите ссылку на свой проект или откроете проблему на https://github.com/probonopd/AppImages/issues я, возможно, смогу дать вам более подробные указания.

Другие вопросы по тегам