MiniGUI--ubuntu16下安装配置MiniGUI 3.2.0

操作系统:Ubuntu Kylin 16.04 x86
MiniGUI版本:3.2.0

最近一直再搞这个东西,要配置的库真的是太多了。从README帮助文档可以看到3.2.0支持架构有x86 32/64-bit, ARM 32/64-bit (e.g., ARMv7 and ARM Cortex-A7), PowerPC, MIPS, DragonBall, ColdFire, Blackfin, and so on.3.0.12支持的架构有Intel x86, ARM (ARM7/AMR9/StrongARM/xScale), PowerPC, MIPS, DragonBall, ColdFire, Blackfin, and so on.由于后期要在开发板上开发,而芯片内核是Cortex-A8 ARMv7架构,所以我选用了3.2.0版本的,系统最好选择32位的系统,不然会遇到很多问题。参考的是网上MiniGUI3.0.12的配置教程,搞的过程中也是感觉在碰运气,最后能够运行基本示例还是很开心的!

下载文件

下载地址: http://www.minigui.com/en/download/
在这里插入图片描述
这里的库都要下载下来!然后全部解压。

安装工具和依赖库

安装前准备:

sudo apt install libgtk2.0-dev libjpeg-dev libpng12-dev libfreetype6-dev libsqlite3-dev libxml2-dev  //依赖的库
sudo apt install build-essential    //包含许多基本库

1.安装zlib-1.2.2(libpng基于zlib)

进入该目录下,执行./configure --help可以得到可配置选项,常用的有:

  • –prefix=PREFIX:定义安装依赖文件的路径,默认[/usr/local]
  • –host=HOST:程序运行主机,在ARM运行的话要修改
  • –enable-shared[=PKGS]:编译生成共享库(动态库)
  • –enable-static[=PKGS]:编译生成静态库

配置过程(默认配置就行)

./configure  
make && sudo make install

2.安装jpeg-7、libpng-1.2.37、freetype-2.3.9-fm20100818

./configure  
make && sudo make install

3.安装gvfb-1.2.1 [fail]

进入该目录,查看README.md可以看到:

cmake .
make
sudo make install

执行的时候遇到了如下问题,没解决掉 。
在这里插入图片描述
gvfb和qvfb属于framebuffer图像引擎,gvfb安装不成功我就换了qvfb(评论给出了解决办法:安装这里面的 https://download.savannah.gnu.org/releases/freetype/ 2.9.1版本后,gvfb就可以顺利安装上了)。

4.安装qvfb2-2.0 [success]

下载地址: http://www.minigui.com/en/download/
在这里插入图片描述
可以看到qvfb2是基于Qt的,安装过程如下:

./configure 时需要qt3的库,解决办法:
sudo vi /etc/apt/sources.list 添加包含libqt3的库,
deb http://cz.archive.ubuntu.com/ubuntu precise main
添加完后
sudo apt-get update 更新库
这时安装 sudo apt-get install libqt3-mt 库,提示依赖库没有被包含
sudo apt-get -f install 包含依赖的库

sudo apt-get install libqt3-mt
sudo apt-get install libqt3-mt-dev
然后
./configure
make && make install
安装完毕,参考网址在这里

接下来需要修改配置文件MiniGUI.cfg(参考README)
#vi /usr/local/etc/MiniGUI.cfg

[system]
#GAL engine and default options   
gal_engine=pc_xvfb  #指定使用的图像引擎
defaultmode=800x600-16bpp
# IAL engine
ial_engine=pc_xvfb  #输入引擎IAL
mdev=/dev/input/mice
mtype=IMPS2

[pc_xvfb]
defaultmode=800x600-16bpp
window_caption=XVFB-for-MiniGUI-3.0-(Gtk-Version)
exec_file=/usr/local/bin/qvfb2

安装核心组件

1.安装资源库文件minigui-res-3.2.0 [important]

资源库文件包含一些基本字体、图标、位图和鼠标光标等,安装步骤和上面一样:

./configure
make &&  sudo make install

2.安装核心库文件libminigui-3.2.0 [important]

./configure
make &&  sudo make install

如果没有configure文件,执行:

./autogen.sh

安装完之后,vi /etc/ld.so.conf 添加 /usr/local/libvi /etc/ld.so.conf.d/minigui.conf 添加 /usr/local/lib,然后执行 ldconfig(目的为了让动态链接库为系统所共享,系统默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件)。
实际上如果我要跑官网上的demo的话还要打开对png图片的支持,配置时这项默认是打开的,这一点可以通过打开mgconfig.h文件来确认配置是否生效,如果没有可手工将里面对应的宏打开即可,如png图片支持对应的宏为#define _MGIMAGE_PNG 1。

3.安装minigui组件

√ libmgplus-1.4.0
√ libmgncs-1.2.0
√ libmgeff-1.2.0
× libmgncs4touch-1.2.0
√ libmgutils-1.2.0

libmgncs4touch-1.2.0库和触摸相关的,暂时用不到,安装失败了我就没管。

4.安装mg-samples-3.0.12

最初遇到了下面这个错误:

minesweeper.c: In function ‘TestMyWinProc’:
minesweeper.c:827:30: error: invalid operands to binary | (have ‘HWND {aka void *}’ and ‘HWND {aka void *}’)
	if (hCongratuate | hHighscore)

然后被我修改成了:(这样改没报错,是可以用)
在这里插入图片描述
从README可以得知

For simplified Chinese UI, please use the following configuration command:
	 $ ./configure --with-lang=zhcn

执行这条指令用于中文显示,接下来make,这个过程会遇到了很多个错误,无非就是没有定义的引用、.h文件不存在、重复定义等,提示哪里错了改哪里就可以了。主要改的是Makefile中的头文件路径,前前后后改了好久,改这个还是要点耐心的,纯粹是体力活。

......
CFLAGS := -g -O2 -Wall -Wstrict-prototypes -pipe
CFLAGS += -I/root/MiniGUI3.2/CoreLib/libminigui-3.2.0/src/include
CFLAGS += -I/root/MiniGUI3.2/CoreLib/libminigui-3.2.0/include
CFLAGS += -I/root/MiniGUI3.2/CoreLib/libminigui-3.2.0/include/ctrl	
......
MINIGUI_CFLAGS := -I/usr/local/include
MINIGUI_CFLAGS += -I/root/MiniGUI3.2/CoreLib/libminigui-3.2.0/src/include
MINIGUI_CFLAGS += -I/root/MiniGUI3.2/CoreLib/libminigui-3.2.0/include
MINIGUI_CFLAGS += -I/root/MiniGUI3.2/CoreLib/libminigui-3.2.0/include/ctrl 
......

运行demo

终于来到了最喜欢的环节。

1.启动显示框架

root@kylin:~/MiniGUI3.2/CoreLib/mg-samples-3.0.12/src# ./mginit

在这里插入图片描述

2.运行demo

root@kylin:~/MiniGUI3.2/CoreLib/mg-samples-3.0.12/same# ./same

在这里插入图片描述
可以看到中文显示乱码,因为还没有设置中文字库。

设置中文字库

vi /usr/local/etc/MiniGUI.cfg

# The first system font must be a logical font using RBF device font.
[systemfont]
font_number=5
font0=rbf-FixedSys-rrncnn-8-16-ISO8859-1
font1=*-FixedSys-rrncnn-*-16-GB2312
font2=*-Courier-rrncnn-*-16-GB2312
font3=*-SansSerif-rrncnn-*-16-GB2312
font4=*-System-rrncnn-*-16-GB2312

default=0
wchar_def=1
fixed=1
caption=2
menu=3
control=3

[rawbitmapfonts]
font_number=2
name0=rbf-fixed-rrncnn-16-16-GB2312-0
fontfile0=/usr/local/share/minigui/res/font/song-16-gb2312.bin
name1=rbf-fixed-rrncnn-12-12-GB2312-0
fontfile1=/usr/local/share/minigui/res/font/song-12-gb2312.bin

[varbitmapfonts]
font_number=0

一定要注意配置项的每行末尾无空格!! 不然会提示GDI资源初始化失败,界面不会显示。
这里再次运行就没什么毛病了。
在这里插入图片描述


参考网址:

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值