1

appimage http://appimage.orgを使用して、アプリケーションをスタンドアロンの実行可能ファイルにパックしています。

私はこれをdebianテストlennyでやっています。

私のアプリケーションは多くのオープンソース ライブラリ (qt、python pythonqt fftw hdf4/5 gsl netpbm qwt) を使用しており、 Qt4 を使用してもすべて問題ありませんでした。アプリを debian でコンパイルし、mint (xfce を使用) でスムーズに実行される appdir イメージを作成できます。

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

メッセージに一貫性がないことに注意してください。最初に I が不足xcbしていると表示され、それが利用可能であると表示されます。

usr/libアプリツリーに plugins ディレクトリをコピーしました。ホストに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 -

私は何が欠けていますか?

4

1 に答える 1

4

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

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

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

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

プロジェクトへのリンクを投稿するか、https://github.com/probonopd/AppImages/issuesで問題を開いていただければ、より詳細な指示を提供できる可能性があります。

于 2016-04-17T20:22:27.587 に答える