今天裝了qvfb,試了幾個minigui的示例和演示小程序,覺得就算把minigui的用戶手冊讀爛了,還是錯漏百出的,所以在此記錄一下,方便遇到同樣問題的xdjm。
一,首先是minigui的解壓安裝等等,用戶手冊上已經(jīng)很清楚。
遇到問題一:編譯示例和演示程序時都說找不到miniguilib.-1.6.so.2。
這是因為./configure時是把這些庫默認(rèn)安裝到/usr/loca/lib下的,所以找不到只有一個原因就是未共享動態(tài)鏈接庫,所以找到/etc/ld.so.conf修改里面的內(nèi)容,我系統(tǒng)的ld.so.conf原來的內(nèi)容就是一句話include ld.so.conf.d/*.conf ,我在下一行加上/usr/local/lib。然后執(zhí)行命令ldconfig(必須的)。再重新編譯示例程序等就成功了。
遇到問題二:make演示程序(mde)時出錯,提示找不到部分頭文件
這是因為mde安裝時的默認(rèn)搜索路徑不是/usr/local,(搞死人),所以必須首先修改目錄下的configure.in 文件,將其中AC_CHECK_HEADERS(minigui/commmon.h, have_libminigui=yes, foo=bar)改為AC_CHECK_HEADERS($prefix/include/minigui/common.h, have_libminigui=yes, foo=bar),以防止編譯時系統(tǒng)無法找到頭文件,然后執(zhí)行autogen.sh 腳本,重新生成configure腳本,在./configure時加上參數(shù)--prefix=/usr/local/lib。執(zhí)行成功后,在該目錄下會生成一個新的Makefile文件。
此時再make一下,發(fā)現(xiàn)仍然有notebook、tools等文件夾里的main.c等編譯不通過。
這時就要修改Makefile文件中的 COMMON_SUBDIRS 部分,將其中的notebook、tools、controlpanel 例子(凡是編譯不通過的例子)暫時刪除,否則編譯這幾個程序時會提示找不到popt.h 和libpopt.so。而這些popt 頭文件和庫文件需要自己從網(wǎng)上下載到相應(yīng)的目錄當(dāng)中。
二,安裝qvfb
我在沒有安裝qvfb之前運行./helloworld等程序是顯示
GAL fbcon engine: Error when opening /dev/fb0: No such device. Please check kernel config.
GAL: Init GAL engine failure: fbcon.
GDI: Can not initialize graphics engine!
證明我的linux是未激活FrameBuffer,所以我選擇了安裝QVFB程序。步驟如下:
去http://www.minigui.com/download/cindex.shtml(周立功的光盤中有提供qvfb-1.0.tar.gz)開發(fā)工具那下載qvfb-1.0.tar.gz,解壓,進(jìn)入其目錄,按順序執(zhí)行./configure,make,make install ,qvfb & , 配置qvfb并運行示例程序:! _4 l! L K3 e& y s
編輯/usr/local/etc/MiniGUI.cfg,將GAL和IAL引擎均改為qvfb: - i6 \. e$ A0 D
25 [system]
% B8 R- p# T' ?, ` 26 # GAL engine
0 A$ x$ N% l$ e6 {, j# d 27 gal_engine=qvfb% S! Q1 |8 }; Q' h) a! N4 U0 W
28
" h4 N' _0 Q; }3 g 29 # IAL engine% y& b, q/ H2 g9 p2 s, v
30 ial_engine=qvfb- v) o5 Z- {- K5 y% R
31
9 I1 F B1 [5 J; w- d/ B6 C3 ? 32 mdev=/dev/mouse1 U3 ^- v% }/ O2 d5 }
33 mtype=IMPS2# f0 v5 a5 W( H7 i% C
34: n' o, y$ r# h+ j1 d) K
35 [fbcon]. R2 X+ K# Z; _6 H& \0 K) n Q
36 defaultmode=1024x768-16bpp1 ]& N, @ q& r' A
37% S3 @2 _% ~* P! P1 [" f0 G
38 [qvfb]; V) l( |1 J) X5 W" W* v7 @+ @/ B
39 defaultmode=640x480-16bpp
4 a, ]: ?! ~- x# X3 ?6 @$ b 40 display=00 r z1 z8 G) @7 f+ N& _, s/ s/ H
41
7 l" a' `- f, P0 ~7 [2 x接著運行qvfb &以啟動虛擬幀緩沖區(qū): 1 F1 e" G7 U4 r* X& l' {; T- |
linux:/home/work/minigui/mg-samples-1.3.1 # qvfb &
9 e0 r' Z- g( t3 x5 @6 s- }這時會出現(xiàn)一個像下面這樣的窗口:
遇到問題三:error while loading shared libraries:libqt-mt.so找不到這個庫,看一下這個庫所在的位置,也在啊,又是共享庫的問題,所以解決辦法就如前:
在/etc/ld.so.conf中再加上缺少的庫的所在位置路徑,然后ldconfig。
三,運行qvfb
qvfb &