MiniGUI 移植到pc和arm开发板全过程详解 及错误解答

本文详细介绍了如何将MiniGUI 1.3.3移植到PC和ARM开发板的过程,包括环境搭建、库文件的下载与安装、配置修改以及错误处理。首先,需要在RedHat 9环境下安装必要的库,如libqt-mt.so.3,然后配置和编译MiniGUI及其依赖库。完成PC环境的搭建后,进行交叉编译环境的配置,包括安装ZLIB、POPT等库。最后,将编译好的库文件和资源文件拷贝到目标板的根文件系统,修改配置文件,确保启动时激活FrameBuffer。整个过程旨在帮助开发者快速在PC上开发和调试MiniGUI程序,然后移植到开发板上运行。
摘要由CSDN通过智能技术生成

最近移植了 MiniGUI 1.3.3 到一个开发板上,中间遇到许多问题,在论坛上发问题,结果也没
多少人回我,就算偶尔有回的,基本上回答也没有什么用,网上找不到一个完整的移植文章,所
以就决定把自己这次移植摸出来的一些方法写出来,给像我一样的小菜鸟做个参考吧。本文不教
你怎么写驱动,只是教怎么样在最短的时候在你的PC 机上搭建起开发环境,同时在你的板子上
跑起MiniGUI 来,这样你就可以在PC 上开发好程序,调试完毕,然后交叉编译一下,直接Copy
到板子上就可以了。
首先,你需要下载的MiniGUI 的包:
http://www.minigui.com/download/libminigui-1.3.3.tar.gz
http://www.minigui.com/download/minigui-res-1.3.3.tar.gz
这两个包的下载需要你在http://www.minigui.com/ 上注册过才可以下载,免费注册的,自
己去下吧
http://www.minigui.com/downloads/minigui13/mde-1.3.0.tar.gz 图形界面程序
http://www.minigui.com/downloads/minigui13/mg-samples-1.3.0.tar.gz 一些小例

好,首先就下载这几个包吧,后面还有需要下载的包,后面再说
1.PC 环境的搭建
首先你需要一个 Linux 环境,我安装的是 RedHat 9.0 安装时记着选 everything ,这样可
以避免到时候编译少了东西。这里搭建的环境是让 MiniGUI 在你的 PC 上可以跑起来,这样
以后你开发程序就可以只在 PC 上开发,调试好,最后交叉编译一下放到板子上就行了。后面
会讲怎么为板子编译MiniGUI ,耐心的看吧:)
首先建立自己的开发目录
[Root]# mkdir /opt
[Root]# cd /opt
[Root]# mkdir st2410 //这个是我的板子,
[Root]# chmod 777 st2410 //给一般用户操作权限
[user]# cd /opt/st2410 //进到目录中去,在这个目录下工作,用普通用户来工作
把 libminigui-1.3.3.tar.gz 解开
[user]# tar zxf libminigui-1.3.3.tar.gz
[user]# tar zxf minigui-res-1.3.3.tar.gz
编译 libminigui ,这个是 minigui 运行所必需的库文件,必须编译成功
[user]# cd libminigui-1.3.3
[user]# ./configure //最简单的编译方式,让它自己去配置 ,这里采用缺省的
Thread 模式而不是Lite 模式,因为这种方式在 PC 机上使用最方便,后面移到板子上再改成
Lite 模式即可

注意屏幕上的输出,特别是下面几条
checking for FrameBuffer console support... yes
checking for pthread library... yes
checking for TT_FreeType_Version in -lttf... yes
checking for T1_InitLib in -lt1... no
checking for jpeg_std_error in -ljpeg... yes
checking for png_check_sig in -lpng... yes
其中 –lttf –lpng 必须是 yes ,不然后面你的程序肯定会有问题,如果这里不是 yes 的话,
肯定是你的 Redhat 9 安装不对,告诉过你安装时选 everything ,你选了吗???
其中 ttf 库是对 TrueType 字体的支持,png 库是对 png 图形的支持,MiniGui 里都需要
这两个,在后面为板子交叉编译的时候也需要这两个,不然你的程序跑不起来,切记切记。
好了,现在通过了,下面是编译了
[user]# make
接来来就是漫长的等待了,让它慢慢的编译吧,呵
[user]# su //切到 Root 用户权限下,不然安装时没法把文件写到你的 /usr/local
目录下
[Root]# make install
好了,库安装完毕,下面是安装资源
[Root]# cd /opt/st2410/minigui-res-1.3.3
[Root]# make install
OK,基本的安装完成了,现在检查一下
看看在你的目录 /usr/local/lib 下是不是有以下文件
libmgext-1.3.so.3 -> libmgext-1.3.so.3.0.0
libmgext-1.3.so.3.0.0
libmgext.a
libmgext.la
libmgext.so -> libmgext-1.3.so.3.0.0
libminigui-1.3.so.3 -> libminigui-1.3.so.3.0.0
libminigui-1.3.so.3.0.0
libminigui.a
libminigui.la
libminigui.so -> libminigui-1.3.so.3.0.0
libvcongui-1.3.so.3 -> libvcongui-1.3.so.3.0.0
libvcongui-1.3.so.3.0.0
libvcongui.a
libvcongui.la
libvcongui.so -> libvcongui-1.3.so.3.0.0

里面还有一个目录 minigui , 可以进到里面去看, 分别为 minigui/res/ [bmp ,
cursor,icon ,…..] 好几个目录,里面有相应的文件
检查 /usr/local/include 里面是不是多了一个 minigui 目录,/usr/local/include/minigui
时面好多的 .h 文件,如下:
common.h control.h endianrw.h fixedmath.h mgext.h mywindows.h vcong
ui.h
config.h dti.c filedlg.h gdi.h minigui.h skin.h window.h
如果这里检查没有这些东西的话,那你前面的步骤肯定有问题,自己检查一下吧。
首先,修改你的 /etc/ld.so.conf 文件,在里面最后新加入一行 /usr/local/lib
然后执行 [Root]# ldconfig  刷新缓冲区
OK !
[Root]# vi /usr/local/etc/MiniGUI.cfg
在里面找到
[system]
# GAL engine
#gal_engine=fbcon
gal_engine=qvfb //里修改  就是用这条语句替代上面的那条语句
# IAL engine
#ial_engine=console
ial_engine=qvfb //这里修改
mdev=/dev/mouse
mtype=IMPS2
[fbcon]
defaultmode=1024x768-16bpp
[qvfb]
defaultmode=640x480-16bpp //这里修改
display=0
保存一下,OK 了!
现在你需要安装一个 qvfb ,因为 Redhat 9 里面没有,从下面地址下载
http://www.minigui.com/downloads/dep-libs/qvfb-1.0.tar.gz
Generated by Foxit PDF Creator © Foxit Software
http://www.foxitsoftware.com For evaluation only.
老方法:
[user]# tar zxf qvfb-1.0.tar.gz
[user]# cd qvfb-1.0
[user]# ./configure
[user]# make
[user]# make install
在这个过程中如果出现 error while loading shared libraries: libqt-mt.so.3: cannot
open shared object file
说明你的系统少了 libqt-mt.so.3 这个库,还是回去检查一下,你安装时Redhat 时是否选了
everything ,或者在实际操作的过程中,这个库有可以被误删除掉,我就出现过,这时候你可
以 google 一下 ,输入 libqt-mt.so.3 redhat 9 ,应该就可以搜到相应的 rpm 包,安装时
[root]# rpm –i --force [你的包名] 就OK 了
这里有个下载地址,可以试试,我是用讯雷下载的,别的工具没试过
ftp://ftp.pbone.net/mirror/www-ccrma.stanford.edu/planetccrma/mirror/redhat/li
nux/planetccrma/9/en/os/i386/qt33-3.3.3-0.1.rh90.ccrma.i386.rpm
注意:在你后面的操作过程中有可能会导致 libqt-mt.so.3 丢失,这时候只要重装一下就OK

解决了这个问题后重复安装过程
[user]# ./configure
[user]# make
[user]# make install

OK 。。。

OK ,环境搭建好了,下面是测试了:)
还记得前面让你下载的 mg-samples-1.3.0.tar.gz 这个包吧,这个就是一些例子,现在试试
吧:)
[user]# tar zxf mg-samples-1.3.0.tar.gz
[user]# ./configure
[user]# make
[user]# cd src
看看 src 目录下是不是已经编译出可执行文件来了
现在来执行一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值