博野網(wǎng)站建設(shè)江西省水文監(jiān)測中心
Qt platform plugin
是 Qt 應(yīng)用程序啟動時加載的插件。不同的平臺有不同的插件。
常見的插件有:linuxfb
Wayland
xcb
簡單來說就是啟動一個GUI程序, 離不開這些插件.選擇其中一個就好
出現(xiàn)這個問題要么就是沒有插件,要么就是插件依賴的庫沒有。 要么就是插件選則的有問題 任何一個插件都是如此
這里以xcb插件為例.一步一步排查錯誤
1. 開啟QT_DEBUG_PLUGINS宏
在終端中輸入
export QT_DEBUG_PLUGINS=1
- 打開插件的調(diào)試信息.然后執(zhí)行你的程序,會輸出詳細(xì)的錯誤信息.進(jìn)一步排查
- 這個環(huán)境變量是一次性的,退出終端后就失效了,不會影響其他的.
2. 錯誤場景
2.1 插件選擇錯誤
- 這種就是插件選擇錯誤的 在遠(yuǎn)程會話或圖形界面設(shè)置不足的情況下,無法正確連接到顯示服務(wù)器
- 我這里的場景是通過ssh連接開發(fā)板 圖像無法回傳到本機(jī) 板子已經(jīng)連接顯示器了
- 解決這問題很簡單 換個插件就行了
- 更換完插件還有問題繼續(xù)看2.2 小節(jié)
2.1.1 更換插件
更換插件有兩種方式:
- 1.通過命令含參數(shù)
- 這種方式適合調(diào)試排錯
[可執(zhí)行程序] -platform [插件名]
比如我這里使用eglfs替換xcb插件
./appRPIUI -platform eglfs
- 2.通過環(huán)境變量
- 這種方式適合永久生效
export QT_QPA_PLATFORM=eglfs
將這個環(huán)境變量添加到~/.bashrc
文件中
然后執(zhí)行source ~/.bashrc
刷新環(huán)境變量
這樣在后續(xù)啟動程序時就不用添加參數(shù)了
2.2 插件缺少庫
同樣的 打開QT_DEBUG_PLUGINS宏
這種就是插件依賴的庫沒有安裝.
安裝對應(yīng)的依賴即可.
sudo apt-get install libinput10
缺什么安裝什么,這個找GPT就可能缺的可能很多
2.3 插件沒安裝
這個插件在Qt的安裝路徑plugins/platforms
這個路徑下.里面有需要的各種插件.
如果這個沒有重新安裝Qt即可,這個比較好排查.如果有插件一定是上面兩種情況引起的