linux解决加载Qt xcb plugins失败
1.問題現(xiàn)象
運(yùn)行可執(zhí)行方式比如 ./setup
有如下報(bào)錯(cuò):
This application failed to start because it could not find or load the Qt platform "xcb" in "".
Available platform plugins are: xcb.
Reinstalling the application may fix this problem.
已放棄(核心已轉(zhuǎn)儲(chǔ))
2.定位錯(cuò)誤
打開qt插件debug開關(guān) export QT_DEBUG_PLUGINS=1
運(yùn)行./setup
發(fā)現(xiàn)加載xcb插件時(shí),加載libQt5XcbQpa.so.5出錯(cuò),且其定位到的libQt5XcbQpa.so.5庫目錄為/user/lib目錄下
此時(shí)懷疑通過加載xcb插件時(shí),查找的libQt5XcbQpa.so.5目錄有問題
通過ldd查看setup目錄下的libqxcb.so,發(fā)現(xiàn)其加載目錄為/user/lib
與正常環(huán)境下的ldd libqxcb.so比較,發(fā)現(xiàn)正常環(huán)境下的libqxcb.so加載的libQt5XcbQpa.so.5在qt安裝目錄下(即~/Qt5.6/5.6/gcc_64/lib)
此時(shí)確認(rèn)了問題所在,我是新安裝的qt環(huán)境,但沒有將qt庫目錄添加到環(huán)境變量LD_LIBRARY_PATH,引起的加載libQt5XcbQpa.so.5目錄尋找從最低優(yōu)先級(jí)地方找(第3部分討論linux下so動(dòng)態(tài)庫搜索順序)
修改:在~/.bashrc末尾添加 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/Qt5.6/5.6/gcc_64/lib
p, li { white-space: pre-wrap }
p, li { white-space: pre-wrap }
總結(jié)
以上是生活随笔為你收集整理的linux解决加载Qt xcb plugins失败的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐:网络求职助手
- 下一篇: python之正则(一)