2016-04-15 2 views
0

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

Я делаю это на debian test lenny.

Мое приложение использует много библиотек с открытым исходным кодом (Qt, Python pythonqt FFTW hdf4/5 GSL NetPBM QWT) и все было нормально, используя Qt4. Я могу скомпилировать мое приложение на debian и создать образ appdir, который работает плавно на mint (с xfce).

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

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

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 tree. я 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" "[email protected]" 
cd - 

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

ответ

2

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

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

См. here на примере приложения Qt5.5, упакованного как AppImage.

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

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

+0

Спасибо! Я видел эту строку в скрипте app scrollus: ldd usr/lib/qt5/plugins/platform/libqxcb.so | grep "=>" | awk '{print $ 3}' | xargs -I '{}' cp -v '{}'./usr/lib', который может помочь, я попробую завтра – bibi

+0

извините @probono, но он не работает ... и, конечно, я установил plugins в appdir '/ usr/lib/plugin', и я также скопировал все библиотеки, необходимые каждому плагину ... без успеха. – bibi

+0

Код находится здесь: https://github.com/aflux/neutrino, но из-за недостающих библиотек при тестировании Debian (qwt для qt5) и не полностью скомпилированных библиотек (pythonqt с поддержкой qt_all) это беспорядок для создания (это почему я хотел что-то вроде appimage) – bibi

Смежные вопросы