1. ホーム
  2. linux

[解決済み] 「qt がインストールされていない Linux で qt5 アプリを起動すると、プラットフォームプラグイン "xcb" の読み込みに失敗しました。

2022-05-17 02:04:09

質問

Qt5を使用したLinux用アプリケーションを書きました。

しかし、Qt SDKがインストールされていないlinuxで起動しようとすると、コンソールに以下のような出力があります。

プラットフォームプラグイン "xcb"のロードに失敗しました。利用可能なプラットフォームは次のとおりです。

どのように私はこれを修正することができますか?もしかしたら、プラグインファイルをコピーする必要があるのでしょうか? Qt5をインストールしたubuntuで、Qtディレクトリの名前を変更すると、同じ問題が発生します。つまり、Qtのディレクトリにあるファイルを使用しているのですが...。

アップデートを行いました。 アプリのディレクトリに、quot;platforms" フォルダを作成したとき、ファイル libqxcb.so というファイルを作成すると、アプリはまだ起動しませんが、エラーメッセージは変更されます。

プラットフォームプラグイン "xcb" を読み込むのに失敗しました。利用可能なプラットフォームは次のとおりです。

xcb

どうしてこんなことが起こるのでしょうか?プラットフォームプラグインが利用可能であるにもかかわらず、読み込むことができないのはなぜでしょうか?

どのように解決するのですか?

ldd (man ldd) を使って、共有ライブラリの依存関係を表示する。libqxcb.so上でこれを実行する。

.../platforms$ ldd libqxcb.so

を見ると、xcb は libQt5Core.so.5 と libQt5Gui.so.5 に加えて libQt5DBus.so.5 にも依存しています (他にも多くのシステム ライブラリがあります)。libQt5DBus.so.5を共有ライブラリのコレクションに追加すれば、次に進む準備が整うはずです。