(转自)虚拟机linux+minigui1.6.2+qvfb(pc机上做试验的,不移植)

来源:百度文库 编辑:神马文学网 时间:2024/06/13 00:39:28
(转自)虚拟机linux+minigui1.6.2+qvfb(pc机上做试验的,不移植)2009-03-26 15:12 2007-12-21 16:17

今天装了qvfb,试了几个minigui的示例和演示小程序,觉得就算把minigui的用户手册读烂了,还是错漏百出的,所以在此记录一下,方便遇到同样问题的xdjm。

一,首先是minigui的解压安装等等,用户手册上已经很清楚。

遇到问题一:编译示例和演示程序时都说找不到miniguilib.-1.6.so.2。
这是因为./configure时是把这些库默认安装到/usr/loca/lib下的,所以找不到只有一个原因就是未共享动态链接库,所以找到/etc/ld.so.conf修改里面的内容,我系统的ld.so.conf原来的内容就是一句话include ld.so.conf.d/*.conf ,我在下一行加上/usr/local/lib。然后执行命令ldconfig(必须的)。再重新编译示例程序等就成功了。

遇到问题二:make演示程序(mde)时出错,提示找不到部分头文件
这是因为mde安装时的默认搜索路径不是/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),以防止编译时系统无法找到头文件,然后执行autogen.sh 脚本,重新生成configure脚本,在./configure时加上参数--prefix=/usr/local/lib。执行成功后,在该目录下会生成一个新的Makefile文件。
此时再make一下,发现仍然有notebook、tools等文件夹里的main.c等编译不通过。
这时就要修改Makefile文件中的 COMMON_SUBDIRS 部分,将其中的notebook、tools、controlpanel 例子(凡是编译不通过的例子)暂时删除,否则编译这几个程序时会提示找不到popt.h 和libpopt.so。而这些popt 头文件和库文件需要自己从网上下载到相应的目录当中。

 

二,安装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)开发工具那下载qvfb-1.0.tar.gz,解压,进入其目录,按顺序执行./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 &以启动虚拟帧缓冲区: 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- }这时会出现一个像下面这样的窗口:

 

遇到问题三:error while loading shared libraries:libqt-mt.so找不到这个库,看一下这个库所在的位置,也在啊,又是共享库的问题,所以解决办法就如前:
在/etc/ld.so.conf中再加上缺少的库的所在位置路径,然后ldconfig。

三,运行qvfb

qvfb &