$ ls qt-everywhere-opensource-src-4.8.2/src/plugins/platforms
blackberry eglconvenience fb_base linuxfb platforms.pro vnc xlib
cocoa eglfs fontdatabases minimal qvfb wayland
directfb externalplugin.pri glxconvenience openkode uikit xcb
在 linux/X 上, 我們需要 xcb 這個 plugin 來完成繪圖的動作。xlib 我猜是舊的 qt 用的, qt5 已經強迫使用 xcb。
這裡我使用了shadow build 的方式。建立 qt.x11.x86.qpa 目錄, 在這目錄 compile qt。
../qt-everywhere-opensource-src-4.8.2/configure -no-qt3support -qpa -opensource
make
make install
安裝後的目錄不是熟悉的 Qt-4.8.2, 而是 QtLighthouse-4.8.2,
$ ls QtLighthouse-4.8.2/plugins/platforms/
libqminimal.so
只有 libqminimal.so plugin, 沒有 xcb, 這個 plugin 無法顯示圖形。
我修改了 qt-everywhere-opensource-src-4.8.2/src/plugins/platforms/platforms.pro
加入
SUBDIRS += xcb
強迫使用 xcb, 這樣就會有 libxcb.so。前題要安裝 xcb 的開發檔案。
xcb 安裝請參考:
http://qt-project.org/wiki/Building_Qt_5_from_Git
至於使用 qpa 編譯出來的程式加上 -platform 就可以指定使用哪個 plugin。
./qt_tetris -platform xcb
沒有留言:
張貼留言
使用 google 的 reCAPTCHA 驗證碼, 總算可以輕鬆留言了。
我實在受不了 spam 了, 又不想讓大家的眼睛花掉, 只好放棄匿名留言。這是沒辦法中的辦法了。留言的朋友需要有 google 帳號。