CentOS 安裝QT 遇到(qt.qpa.plugin: Could not load the Qt platform plugin "xcb" )

說起來我都不信,再linux下安裝個QT 這麼難嗎?重裝了幾次系統,醉了,下面說一下我遇到的問題:

  • round1:

安裝完成後,執行qtcreator 提示: 

Linux qt "qt.qpa.plugin: Could not load the Qt platform plugin "xcb" "

搜素一通,配置輸出錯誤日誌詳細信息
sudo gedit ~/.bashrc文件中添加如下語句:

export QT_DEBUG_PLUGINS=1
export LD_LIBRARY_PATH=/opt/Qt5.13.1/5.13.1/gcc_64/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/Qt5.13.1/Tools/QtCreator/lib:$LD_LIBRARY_PATH

後兩句是從把鏈接庫路徑加到搜索路徑中,不知道有沒有生效。

此處重點強調其實第一句話,加上此配置項後,QtCreator就會輸出大量信息,這樣我們,纔能有的放矢,一步步解決問題/
使改動生效

sudo source  ~/.bashrc
  • round2:

再次從命令行中執行qtcreator程序,此時輸出一大堆日誌信息,跳到最後發現提示:
    Cannot load library /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so: (libxkbcommon-x11.so.0: 無法打開共享對象文件: 沒有那個文件或目錄)
QLibraryPrivate::loadPlugin failed on "/opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so" : "Cannot load library /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so: (libxkbcommon-x11.so.0: 無法打開共享對象文件: 沒有那個文件或目錄)"


 很明顯動態庫加載失敗,首先查看是否存在此文件,存在,然後查看其依賴庫是否都能夠成功找到:

ldd  /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/libqxcb.so

此時發現有與libxkbcommon相關的庫找不到,ok百度一下,需要安裝此庫,用yum安裝:

yum -y install libxkbcommon-x11-devel
  • round 3 缺少dbus

繼續執行還是有錯誤,跳到最後一行 還是有錯誤,提示dbus 出錯

/opt/Qt5.13.1/Tools/QtCreator/bin/qtcreator: relocation error: /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/../../lib/libQt5DBus.so.5: symbol dbus_message_set_allow_interactive_authorization, version LIBDBUS_1_3 not defined in file libdbus-1.so.3 with link time reference

ok繼續 安裝dbus庫

yum -y install dbus-devel

round4

繼續執行,此時提示如下錯誤

opt/Qt5.13.1/Tools/QtCreator/bin/qtcreator: symbol lookup error: /opt/Qt5.13.1/Tools/QtCreator/lib/Qt/plugins/platforms/../../lib/libQt5XcbQpa.so.5: undefined symbol: FT_Get_Font_Format
百度一下,需要安裝freetype-devel,歐克

yum -y install freetype-devel

總而言之,一切從配置此環境變量開始export QT_DEBUG_PLUGINS=1,大家遇到的問題可能與我不同,但是有了輸出信息就可以一步步的解決了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章