Qt5 を使用する Linux 用のアプリケーションを作成しました。
しかし、Qt SDK をインストールせずに Linux で起動しようとすると、コンソールの出力は次のようになります。
プラットフォーム プラグイン「xcb」の読み込みに失敗しました。使用可能なプラットフォームは次のとおりです:
これを修正するにはどうすればいいでしょうか? プラグイン ファイルをコピーする必要があるのでしょうか? Qt5 がインストールされた Ubuntu を使用していますが、Qt ディレクトリの名前を変更すると、同じ問題が発生します。つまり、Qt ディレクトリからいくつかのファイルを使用しているということです...
更新: アプリディレクトリの「platforms」フォルダにファイルを作成するとlibqxcb.soアプリはまだ起動しませんが、エラー メッセージが変わります。
プラットフォーム プラグイン「xcb」の読み込みに失敗しました。使用可能なプラットフォームは次のとおりです:
翻訳
なぜこのようなことが起こるのでしょうか? プラットフォーム プラグインは利用できるのに、ロードできないのはなぜでしょうか?
ベストアンサー1
共有ライブラリの依存関係を表示するには、ldd (man ldd) を使用します。これを libqxcb.so で実行すると、
.../platforms$ ldd libqxcb.so
xcb が libQt5Core.so.5 と libQt5Gui.so.5 (および他の多くのシステム ライブラリ) に加えて libQt5DBus.so.5 に依存していることを示しています。共有ライブラリのコレクションに libQt5DBus.so.5 を追加すれば、次に進む準備が整います。