Не удается открыть qcreator qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""

Я на Ubuntu. Когда я набираю qtcreator в терминале, я получаю:

QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/usr/bin/plugins/platforms/libqxcb.so"
Found metadata in lib /usr/bin/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "archreq": 0,
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 331008
}


In /usr/bin/plugins/platforms/libqxcb.so:
  Plugin uses incompatible Qt library (5.13.0) [release]
"The plugin '/usr/bin/plugins/platforms/libqxcb.so' uses incompatible Qt library. (5.13.0) [release]" 
         not a plugin
QFactoryLoader::QFactoryLoader() checking directory path "/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() checking directory path "/usr/bin/platforms" ...
qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Aborted (core dumped)

Я искал ответ, но не смог найти ответ, который бы правильно решал мою проблему.

0
задан 19 April 2020 в 13:16

1 ответ

У меня было это сообщение об ошибке при запуске приложения, созданного с использованием Qt, установленного из исходных кодов (так что это было связано с тем, как я установил Qt).

Быстрый

export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms

превратит приведенную выше ошибку в qt.qpa.plugin: Не удалось найти подключаемый модуль платформы Qt "xcb" в "/usr/lib/x86_64-linux-gnu/qt5/plugins/ платформы", так что это не полное решение.

В моем случае решением было установить xorg и xorg-dev — и другие пакеты в этом отношении. Затем переустановите Qt из исходников.

Это все пакеты, которые я установил (в Ubuntu 20.04):

sudo apt install libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev   \
                 libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev                \
                 libxcb-sync0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev                    \
                 libxcb-xinerama0-dev libxkbcommon-dev libxkbcommon-x11-dev libclang-dev                                            \
                 freeglut3-dev mesa-utils libdrm-dev libgles2-mesa-dev                                                              \
                 binutils g++ cmake g++ mesa-common-dev build-essential libglew-dev libglm-dev                                      \
                 make g++ pkg-config libgl1-mesa-dev libxcb1-dev libfontconfig1-dev libxkbcommon-x11-dev python libgtk-3-dev        \
                 build-essential default-jre openjdk-8-jdk-headless android-sdk android-sdk-platform-23 libc6-i386                  \
                 libdrm-dev libgles2-mesa-dev libzc-dev libxcb-sync-dev libsmartcols-dev libicecc-dev libpthread-workqueue-dev      \
                 libgstreamer1.0-dev libgcrypt20-dev libqt5gui5-gles qca-qt5-2-utils xorg xorg-dev

Имейте в виду, что default-jre openjdk-8-jdk-headless android-sdk android-sdk-platform-23 и, возможно, libc6-i386 тоже требуются, только если вам нужно создавать проекты для Android.

Вот как я установил Qt из исходников:

export QT_VERSION=5.15.1
export QT5BINDIR=/usr/local/Qt-$QT_VERSION/bin
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/qt5/lib
export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms
export QT_QPA_FONTDIR=/usr/lib/x86_64-linux-gnu/qt5/lib/fonts

cd ~/Downloads/qt/qt-everywhere-src-$QT_VERSION/
sed -i 's/python /python3 /' qtdeclarative/qtdeclarative.pro \
           qtdeclarative/src/3rdparty/masm/masm.pri


./configure     -opensource -confirm-license    \
                -sysconfdir /etc/xdg            \
                -dbus-linked                    \
                -system-harfbuzz                \
                -nomake examples                \
                -no-rpath                       \
                -skip qtwebengine

make -j4
sudo make -j4 install
echo "Adding environment variables"
PATH=/usr/local/Qt-$QT_VERSION/bin:$PATH
export PATH

ldd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/*.so

Основным источником документации является Beyond Linux® From Scratch (System V Edition) — Qt-5.15.1. .

0
ответ дан 18 September 2020 в 19:42

Другие вопросы по тегам:

Похожие вопросы: