2016-04-15 8 views
0

私はアプリケーションイメージhttp://appimage.orgを使用してスタンドアロンでアプリケーションをパックすることができます。Qt5アプリケーションを展開するためにappimageを使用する方法

私はdebian testing lennyでdointです。

私のアプリケーションは、多くのオープンソースライブラリ(qt、python pythonqt fftw hdf4/5 gsl netpbm qwt)を使用していて、すべてQt4を使ってOKでした。私はdebian上で自分のアプリケーションをコンパイルして、mint(xfce)でスムーズに動くappdirイメージを作成することができます。

Qt5に切り替えると、これが機能しなくなりました。

今appimageはミントにDebian上で動作ではなく、私はこのエラーを取得:messegeが非一貫性があることを

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 

お知らせ:firtsそれは私がxcbを欠いており、それはのように利用できるMAKSよりも言います。

私のアプリでプラグインディレクトリをコピーしました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" "[email protected]" 
cd - 

答えて

2

Krita、Scribus、Subsurfaceなどの多くのQt5アプリケーションがAppImageとして配布されているため、間違いなく可能です。

おそらく、あなたはAppImageの中にバンドルする必要があるいくつかのコンポーネントがありません。特に、QtプラグインはAppImage内でバンドルされて動作する必要があります。

AppImageとしてパッケージ化されているQt5.5アプリの例については、hereを参照してください。

CentOS 6などの古いベースシステムを使用することをお勧めします。これは、結果として生じるAppImageが最新のものよりも多くのディストリビューションと互換性があるためです。

あなたのプロジェクトへのリンクを投稿するか、https://github.com/probonopd/AppImages/issuesで問題を開くと、より詳細な指示を与えることができます。

+0

ありがとうございます!私はscribus appimageスクリプトでこの行を見た: 'ldd usr/lib/qt5/plugins/platforms/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のテスト用ライブラリ(Qt5用のqwt)と完全にコンパイルされていないライブラリ(qt_allサポート付きのpythonqt)で不足しているライブラリが原因ですなぜ私はappimageのようなものが欲しかったのですか) – bibi