Ubuntu14.04安装MiniGUI

本文主要解决如下问题:

  1. 如何在64位的ubuntu14.04系统上安装MiniGUI
  2. 解决安装过程中碰到的问题
  3. Ubuntu14.04环境安装qvfb工具

准备安装包和安装环境

Ubuntu 64bit兼容32bit GCC 交叉编译环境

方法一:
(1)sudo apt-get install lib32z1
(2)sudo apt-get install lib32stdc++6
方法二(时间较长):
(1)sudo apt-get update
(2)sudo apt-get dist-upgrade
(3)sudo apt-get install ia32-libs
然后安装
sudo apt-get install libc6-dev-i386 lib32ncurses5-dev

准备MiniGUI安装包

MiniGui资源下载:MiniGui官网
MiniGui库版本: 3.0.12
资源文件:
minigui-res-be-3.0.12.tar.gz
libminigui-gpl-3.0.12.tar.gz
libmgplus-1.2.4.tar.gz
mg-samples-3.0.12.tar.gz

安装MiniGUI

1. 安装资源文件

解压资源文件,进入minigui-res-be-3.0.12目录

$ ./configure –prefix=/home/michael/Program/minigui
$ make && make install
2.安装minigui文件

解压文件,进入libminigui-gpl-3.0.12目录

$ ./configure –prefix=/home/michael/Program/minigui –enable-qvfbial=yes –enable-videoqvfb=yes
$ make && make install

错误:png.c:28:17: fatal error: png.h: No such file or directory
解决:sudo apt-get install libpng12-dev
安装完成后,在指定目录~/install/minigui下,生成了etc include lib share四个文件夹,分别放置了配置文件、头文件、库文件和资源文件,在实际开发时,需要用到这些文件。

3.编译sample文件

解压资源文件,进入mg-samples-3.0.12目录

./configure –prefix=/home/michael/Program/minigui PKG_CONFIG_PATH=/home/michael/Program/minigui/lib/pkgconfig CPPFLAGS=-I/home/michael/Program/minigui/include

错误:agg_platform_support.cpp:30:28: fatal error: minigui/common.h: No such file or directory
解决:设置minigui头文件目录,CPPFLAGS=-I/home/test/install/minigui/include
错误:dlgdemo.c:40:27: fatal error: mgplus/mgplus.h: 没有那个文件或目录
解决:设置libmgplus头文件目录,CPPFLAGS=-I/home/test/install/minigui/include
提示:No package ‘minigui’ found — 运行configure时增加
PKG_CONFIG_PATH=~/install/minigui/lib/pkgconfig
提示:error: minigui/common.h, 运行configure是增加
CPPFLAGS=-I~/install/minigui/include

ubuntu编译minigui 3.0.12出现下面错误:
object.h:275:9: error: incompatible types when assigning to type ‘va_list’ from type ‘struct __va_list_tag *’
网上搜索了下说是编译系统是64位导致的,换为32位就可以了。但是我的编译系统无法换,看了下,直接在对应的makefile里面修改把该模块编译为32位。如下:
CFLAGS = -m32 -g -O2
在CFLAGS上加上-m32就可以了。
(这个最好用32位的系统来编译,不然所有makefile都要修改,比较麻烦)

ubuntu14.04 64位安装Minigui详细解决

Ubuntu14.04环境安装qvfb工具

1、安装环境
ubuntu 14.04-i386
安装编译工具 sudo apt-get install build-essential
安装依赖的第三方库 libx11-dev libxext-dev libxtst-dev
qt-4.8.6源码下载链接: http://download.qt.io/archive/qt/4.8/4.8.6/

2、编译安装qt-4.8.6
配置 $ ./configure -opensource -prefix /home/test/install/qt
执行make && make install
编译过程如果突然错误提示缺少库的话就使用apt源默认安装就好了。
编译通过,安装完成后,将qt的库和可执行文件路径配置到环境变量中,否则在安装qvfb时会报错。

export PATH=$PATH:/home/test/install/qt/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/test/install/qt/lib

这里没有安装到系统默认的/usr/local文件夹下,是因为我的ubuntu并不需要qt的开发环境,只是需要qvfb工具,才不得不安装qt。
如果需要用过qt开发环境的,也可以只用默认安装。

3、编译安装qvfb
配置环境变量成功后,进入qt4.8.6源码目录下的tools/qvfb,执行qmake命令。
如果出现错误找不到qmake命令,则是因为环境变量配置没有生效。
qmake执行成功,执行make命令,开始编译
如果出现错误:

qanimationwriter.cpp:(.text+0x138):对‘png_create_write_struct’未定义的引用
qanimationwriter.cpp:(.text+0x143):对‘png_create_info_struct’未定义的引用
qanimationwriter.cpp:(.text+0x159):对‘png_set_compression_level’未定义的引用
qanimationwriter.cpp:(.text+0x178):对‘png_set_write_fn’未定义的引用

解决步骤:

(1)执行命令
$ locate libpng
查看系统libpng库位置,如果找不到,需要默认安装。
我的系统下结果为:
/lib/i386-linux-gnu/libpng12.so.0

(2)建立软连接
$ sudo ln -s /lib/i386-linux-gnu/libpng12.so.0 /lib/i386-linux-gnu/libpng.so

(3)修改Makefile文件
打开Makefile文件,找到LIBS变量,增加 -L/lib/lib/i386-linux-gnu -lpng:

LIBS = $(SUBLIBS) -L/home/test/share/code/qt/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib -lz -lXtst -lQtGu i -L/home/test/share/code/qt/qt-everywhere-opensource-src-4.8.6/lib -L/usr/X11R6/lib -L/lib/lib/i386-linux-gnu -lpng -lQtCore -lpthread -lXext -lX11 -lm

保存退出,重新执行。

编译成功后,将源码目录bin下的qvfb文件拷贝到qt安装目录bin下。
运行 $ qvfb -width 600 -height 400 &
qvfb安装成功。在需要使用minigui前,先打开qvfb模拟工具,让其在后台运行,这样minigui的界面就可以正常运行了

运行MiniGUI Sample用例问题

问题1:

./lf_skin: error while loading shared libraries: libminigui_ths-3.0.so.12: cannot open shared object file: No such file or directory

解决办法:

export LD_LIBRARY_PATH=/home/michael/Program/minigui/lib_x86/lib:$LD_LIBRARY_PATH

问题2:

MISC: Can not locate your MiniGUI.cfg file or bad files!
KERNEL>InitGUI: Initialization of misc things failure!
````
解决:把libminigui-gpl-3.0.12/etc/MiniGUI.cfg复制到当前目录下[mg-samples-3.0.12/src]

问题3:




<div class="se-preview-section-delimiter">div>

execlp error!!
execl: No such file or directory
NEWGAL>PCXVFB: Wait too long for CLIENT.
NEWGAL: Does not find matched engine: pc_xvfb.
KERNEL>InitGUI: Can not get graphics engine information!

解决:




<div class="se-preview-section-delimiter">div>

[system]

GAL engine and default options

gal_engine=qvfb(修改此处)
defaultmode=640x480-16bpp(修改此处)
IAL engine
ial_engine=qvfb
mdev=/dev/input/mice
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp
window_caption=QVFB-for-MiniGUI-3.0
exec_file=/usr/local/bin/qvfb2 (修改此处)
display=0
[pc_xvfb]
defaultmode=640x480-16bpp
window_caption=XVFB-for-MiniGUI-3.0-(Gtk-Version)
exec_file=/usr/local/bin/qvfb2
display=0

问题4:
NEWGAL: Does not find matched engine: qvfb.
KERNEL>InitGUI: Can not get graphics engine information!
解决:
在安装libminigui-gpl-3.0.12时增加配置--with-targetname=qvfb --enable-qvfbial=yes
参照第6)条

问题5:
FONT>LogFont: requested info: type: rbf, family: vgaoem, style: 10000, charset: ISO8859-1, size: 8.
FONT>LogFont: created info: type: rbf, family: VGAOEM, style: 10000, charset: ISO8859-1, size: 8.
KERNEL>InitGUI: Count not init mouse cursor!
KERNEL>InitGUI: Init failure, please check your MiniGUI configuration or resource.
解决:
修改MiniGUI.cfg配置文件
[cursorinfo]
108 # Edit following line to specify cursor files path
109 #cursorpath=/usr/local/share/minigui/res/cursor/
110 cursorpath=/home/colin/minigui/lib_x86/share/minigui/res/cursor/
111 cursornumber=23

[resinfo]
137 #respath=/usr/local/share/minigui/res/
138 respath=/home/colin/minigui/lib_x86/share/minigui/res/

至此minigui全部问题得到解决。






<div class="se-preview-section-delimiter">div>

####附录
minigui显示中文,MiniGUI.cfg配置如下:




<div class="se-preview-section-delimiter">div>

[systemfont]
font_number=10
font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1
font1=-FixedSys-rrncnn--16-ISO8859-1
font2=-Courier-rrncnn--16-ISO8859-1
font3=-SansSerif-rrncnn--16-ISO8859-1
font4=-System-rrncnn--16-ISO8859-1
font5=-fixed-rrncnn--16-GB2312
font6=-Courier-rrncnn--16-GB2312
font7=-SansSerif-rrncnn--16-GB2312
font8=-Times-rrncnn--16-GB2312
font9=-Helvetica-rrncnn--16-GB2312
下面几个参数配置不正确可能导致中文乱码,具体参数查看用户手册。
default=0
wchar_def=5
fixed=5
caption=5
menu=5
control=5
[rawbitmapfonts]
font_number=4
name0=rbf-fixed-rrncnn-8-16-ISO8859-1
fontfile0=/home/colin/minigui/lib_x86/share/minigui/res/font/8x16-iso8859-1.bin
name1=rbf-fixed-rrncnn-16-16-GB2312-0
fontfile1=/home/colin/minigui/lib_x86/share/minigui/res/font/song-16-gb2312.bin
name2=rbf-fixed-rrncnn-6-12-ISO8859-1
fontfile2=/home/colin/minigui/lib_x86/share/minigui/res/font/6x12-iso8859-1.bin
name3=rbf-fixed-rrncnn-12-12-GB2312-0
fontfile3=/home/colin/minigui/lib_x86/share/minigui/res/font/song-12-gb2312.bin
[varbitmapfonts]
font_number=6
name0=vbf-Courier-rrncnn-8-13-ISO8859-1
fontfile0=/home/colin/minigui/lib_x86/share/minigui/res/font/Courier-rr-8-13.vbf
name1=vbf-Helvetica-rrncnn-11-12-ISO8859-1
fontfile1=/home/colin/minigui/lib_x86/share/minigui/res/font/Helvetica-rr-11-12.vbf
name2=vbf-Times-rrncnn-10-12-ISO8859-1
fontfile2=/home/colin/minigui/lib_x86/share/minigui/res/font/Times-rr-10-12.vbf
name3=vbf-Courier-rrncnn-10-15-ISO8859-1
fontfile3=/home/colin/minigui/lib_x86/share/minigui/res/font/Courier-rr-10-15.vbf
name4=vbf-Helvetica-rrncnn-15-16-ISO8859-1
fontfile4=/home/colin/minigui/lib_x86/share/minigui/res/font/Helvetica-rr-15-16.vbf
name5=vbf-Times-rrncnn-13-15-ISO8859-1
fontfile5=/home/colin/minigui/lib_x86/share/minigui/res/font/Times-rr-13-15.vbf
“`

[system]
# GAL engine and default options
gal_engine=qvfb(修改此处)
defaultmode=640x480-16bpp(修改此处)
IAL engine
ial_engine=qvfb
mdev=/dev/input/mice
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp
window_caption=QVFB-for-MiniGUI-3.0
exec_file=/usr/local/bin/qvfb2 (修改此处)
display=0
[pc_xvfb]
defaultmode=640x480-16bpp
window_caption=XVFB-for-MiniGUI-3.0-(Gtk-Version)
exec_file=/usr/local/bin/qvfb2
display=0

问题4:
NEWGAL: Does not find matched engine: qvfb.
KERNEL>InitGUI: Can not get graphics engine information!
解决:
在安装libminigui-gpl-3.0.12时增加配置–enable-qvfbial=yes –enable-videoqvfb=yes
参照第6)条

问题5:
FONT>LogFont: requested info: type: rbf, family: vgaoem, style: 10000, charset: ISO8859-1, size: 8.
FONT>LogFont: created info: type: rbf, family: VGAOEM, style: 10000, charset: ISO8859-1, size: 8.
KERNEL>InitGUI: Count not init mouse cursor!
KERNEL>InitGUI: Init failure, please check your MiniGUI configuration or resource.
解决:
修改MiniGUI.cfg配置文件
[cursorinfo]
108 # Edit following line to specify cursor files path
109 #cursorpath=/usr/local/share/minigui/res/cursor/
110 cursorpath=/home/colin/minigui/lib_x86/share/minigui/res/cursor/
111 cursornumber=23

[resinfo]
137 #respath=/usr/local/share/minigui/res/
138 respath=/home/colin/minigui/lib_x86/share/minigui/res/

至此minigui全部问题得到解决。

你可能感兴趣的:(minigui,ubuntu,qvfb)