Skip to content

Qt xcbプラットフォームプラグインのロードエラーの解決方法

問題内容

Qt 6.5.0以降のバージョンで、Qt Creatorの起動時に以下のエラーが発生する場合があります:

bash
from 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin. 
Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

このエラーは主にUbuntu 20.04 LTS環境でQtをアップデートした後に発生します。利用可能なプラグインとしてminimalegl, eglfs, linuxfbなどがリストされますが、グラフィカルインターフェースを正常に動作させるために必要なxcbプラグインが読み込まれません。

従来の解決法が効かないケース

従来のQtプラグインエラーとは異なり、パスの設定やプラグインの再インストールでは解決しません。エラーメッセージが明示するように、新しい依存ライブラリの不足が根本原因です。

解決策

Ubuntu/Debian系での修正方法

libxcb-cursor-devパッケージをインストールするだけで問題が解決します:

bash
sudo apt-get install -y libxcb-cursor-dev

インストール後、Qt Creatorを再起動すると正常に動作します。この解決法はQt公式フォーラムでも確認済みです。

Red Hat/Fedora系での修正方法

Red Hat系ディストリビューションでは次のコマンドを実行します:

bash
sudo dnf install xcb-util-cursor xcb-util-cursor-devel

補足確認方法

ライブラリが適切にインストールされたか確認するには:

bash
# ライブラリの存在確認
find / -name "libxcb-cursor*.so*" 2>/dev/null

# 期待される出力例
/usr/lib/x86_64-linux-gnu/libxcb-cursor.so.0
/usr/lib/x86_64-linux-gnu/libxcb-cursor.so.0.0.0

予防的措置

将来の類似問題を避けるため、libxcb-*関連パッケージを一括インストールしておくのも有効です:

bash
# Ubuntu/Debian
sudo apt install libxcb-*

# Red Hat/Fedora
sudo dnf install xcb-util*

エラーの技術的背景

Qt 6.5.0からXCBカーサーライブラリが新たな依存関係として追加されました。特にLinuxのX Window System環境では:

  1. Qtアプリがxcbプラグインを使用してグラフィカルインターフェースを制御
  2. バージョン6.5.0以降でカーソル処理にlibxcb-cursorが必須に
  3. ライブラリ未インストールの場合、プラグイン自体は存在しても初期化失敗

注意点

単なるlibxcb-cursor0インストールでは不十分です。開発用パッケージlibxcb-cursor-dev(ヘッダーファイル含む)が必要な理由は:

  • Qtがコンパイル時に開発ヘッダーを参照
  • ランタイムで共有ライブラリを動的リンク

再発防止のベストプラクティス

  1. 依存関係の自動チェック
    QtインストーラーのMaintenanceToolで「コンポーネント追加」機能を使用

  2. 開発環境の準備
    Qt開発に必要な全パッケージを事前にインストール:

    bash
    # Ubuntu/Debian
    sudo apt install build-essential libgl1-mesa-dev libxkbcommon-x11-dev libxcb-*
    
    # Red Hat/Fedora
    sudo dnf groupinstall "Development Tools" && sudo dnf install mesa-libGL-devel xcb-util*
  3. バージョン互換性の確認
    Qtの公式ドキュメントでOSごとの要件を定期的に確認

この修正により、Qt CreatorだけでなくQt Frameworkを使用する全アプリケーションでxcbプラグイン関連のエラーを解消できます。