2016-07-20 14 views
1

動的リンクを使用してLinux(Debian)用のQt5アプリケーションをデプロイしようとしています。私のアプリはすべての依存関係がうまく動作するUbuntu上でうまく動作します。私のアプリケーションパッケージには、次のようになります。プラットフォームプラグインlibqxcb.soが見つかりましたが、Qtライブラリが見つかりません。 (動的リンクを使用したLinux用Qtアプリケーションのデプロイ)

- application.exe 
- qt.conf 
- libicudata.so.54 
- libicui18n.so.54 
- libicuuc.so.54 
- libQt5Core.so.5 
- libQt5DBus.so.5 
- libQt5XcbQpa.so.5 
- libQt5Gui.so.5 
- libQt5Widgets.so.5 
- platforms/libqxcb.so 

私はDebianの上の端末から、それを実行すると、私はこのエラーメッセージを得る:それはQtのを を見つけるか、読み込むことができませんでしたので、

このアプリケーションは起動に失敗しましたプラットフォームプラグイン "xcb"。

利用可能なプラットフォームプラグインは次のとおりです。xcb。

この問題を解決するには、アプリケーションを再インストールする必要があります。

を中止 は、その後、私はlibqxcb.soにLDDを走り、それは私がメインフォルダ内QT LIBSを見つけることができなかったことを見ました。私のapplication.exeはproファイル内のrpathによってすべてのqtライブラリを見つけることができるので、qtライブラリを見つけることができないプラットフォームプラグインだけです。

プラットフォームプラグインのQtライブラリへのパスを設定するにはどうすればよいですか?

+0

端末からはどのようなコマンドを実行しますか? – Frodon

+0

エラーメッセージが表示されたら./applicationコマンドを実行しました。そして、ldd ./applicationを実行して、それがqt libsを見つけることができることを見た。そしてldd ./libqxcb.soを見て、それがqtライブラリを見つけることができなかったが、それらに依存している、それはおそらく問題ではない? – maltja

+0

Qtライブラリを含むフォルダをLD_LIBRARY_PATHに追加すると、アプリケーションが起動しますか? –

答えて

0

http://doc.qt.io/qt-5/linux-deployment.htmlの起動スクリプトでアプリケーションを起動して解決しました。しかし、スクリプトを使用せずに誰かがそれをどのように解決するかについて考えている人は、どのように聞きたいのですか。上のリンクと同じリンクのqt docには、rpathだけで実行できるはずだと言われています。

関連する問題