标签 [ MiniGUI ] 下的全部文章

MiniGUI最新版本是3.0.8,配套放出的还有mStudio 1.0开发工具(只是eclipse的一个插件),官网提供了评估版下载,但是MiniGUI 3.0只有Ubuntu 8.04平台的,没有嵌入式平台的。早期MiniGUI是开源的,其中1.6.10还可以从http://sourceforge.net上下载,但是后续版本开源路线就羞羞答答的了,分成什么专业版、标准版和评估版,似乎不开源了,根本下载不到源代码,网上资料除了官网上有一些之外几乎是少得可怜,社区人气凋零。相反QT图形系统却是一番欣欣向荣态势,发展迅速、人气极旺,完全开源,功能更强大,但是是面向对象编程的C++语言!

本文采用随书配套光盘的MiniGUI 3.0搭建Ubuntu desktop 9.03 + vim 开发环境。
/** 注意:需要以root用户登录操作。如果要拷贝命令,最好先拷贝到记事本或者文本编辑器中,然后从记事本中再拷贝到命令行去执行,这样一些不可见大字符就被过滤了**/

一、基于vim的字符界面开发环境

1、修改操作系统的默认安装源(台湾的源比较快):

# cd /etc/apt
# sed -i 's|cn.ar|tw.ar|g' sources.list
# apt-get update
# apt-get upgrade

2、修改linux的默认字符集,解决与windows之间传递文件出现乱码的问题

# echo "zh_CN.GB2312 GB2312" >> /var/lib/locales/supported.d/local
# locale-gen
# vim /etc/default/locale
#LANG="zh_CN:UTF-8"
LANG="zh_CN:GB2312"
LANGUAGE="zh_CN:zh"

重启电脑后采用命令locale可以查看系统默认的字体。

3、加装如下软件包:

# apt-get install libpng12-dev libjpeg62-dev libqt3-mt build-essential manpages-dev vim-full
# cd

修改vim的环境文件.vimrc,使得用vim编辑c语言程序时高亮识别语法:

# vim .vimrc

set autoindent
set cindent
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
set nowrap
syntax enable
set ts=4
set hlsearch
set ruler
set showcmd
set nu

4、将 minigui_lib.tar.gz(位于光盘的MiniGUI3.0/ubuntu7.10目录下或者从本网站的“下载通道”页面中下载)解压到 /usr/local/lib 目录下(没有光盘的朋友可以去魔盘上下载)

# cd /usr/local/lib
# tar -zxvf minigui_lib.tar.gz
# grep '/usr/local/lib' /etc/ld.so.conf || echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig

5、将minigui_include.tar.gz 头文件包拷贝到 /usr/local/include 目录下

# mkdir /usr/local/include
# tar -zxvf minigui_include.tar.gz

6、将 qvfb2 工具拷贝到/usr/local/bin目录下

# cp qvfb2 /usr/local/bin
# chmod 755 /usr/local/bin/qvfb2

7、编译例子(将 mg-samples-3.0.1.tar.gz 包拷贝到某一目录下,解压、解包、配置并且编译)

# mkdir $HOME/work
# cd $HOME/work
# tar -zxvf mg-samples-3.0.1.tar.gz
# cd mg-samples-3.0.1
# ./configure
# make
# cd src
# ./mginit &

此后您可以启动任何其他的MiniGUI程序了,比如:

# ./menubutton &
# ./helloworld
……

8、编译自己的MiniGUI源程序:

# gcc -o xxx yyy.c -lminigui -lpng -ljpeg

二、基于eclipse的图形开发环境(也可以参考这里)

1、加装如下包:

# apt-get install build-essential sun-java6-jdk libxml2-dev libfreetype6-dev xorg-dev libqt3-headers libqt3-mt libqt3-mt-dev
# apt-get install  libcurl4-openssl-dev libcurl4-gnutls-dev

2、安装eclipse for c/c++:

从网站http://www.eclipse.org/downloads/?osType=linux上下载Eclipse IDE for C/C++ Developers或者直接点击的链接下载eclipse-cpp-helios-linux-gtk.tar.gz到目录/tmp/。
# tar -zxvf /tmp/eclipse-cpp-helios-linux-gtk.tar.gz -C /usr/local/

3、安装mStudio 1.0:

从http://www.minigui.com/index.php?id=136&L=1下载mStudio 1.0 for Ubuntu 8.04 LTS(文件名是mStudio-1.0-MiniGUI-BE-3.0-Ubuntu8.0.4LTS-en.tar.gz)到目录/tmp/

# cd /tmp/
# tar -zxvf mStudio-1.0-MiniGUI-BE-3.0-Ubuntu8.0.4LTS-en.tar.gz
# cd mstudio-deb-with-minigui3.0-be
# ./install.sh --开始安装。
Do you have eclipse? [ Y/N ]:Y
Plaese eclipse path in you linux box
/usr/local/
……

# ldconfig

4、配置Eclipse的环境:

启动Eclipse-->在Eclipse菜单-->Windows-->Preference
-在弹出的窗口的导航条中选择“MiniGUI”-->点击Add按钮。
-在弹出窗口中相应填入如下项:

Version Name:1.0
Bin Path:/usr/local/bin

注意:如果Bin Path配置不正确,会导致双击工程的res/res.project无反应。

5、新建MiniGUI工程示例:

(1)在Eclipse中,选择菜单:File->New->Other...
(2)在弹出的窗口中,左边选择MiniGUI->MiniGUI Application Project, 然后点击Next按钮。
(3)安照提示,输入工程名字,选择 "MG 3.0.x Project with NCS" 和 "Linux GCC", 然后点击Finish 按钮。
(4)这时新的MiniGUI工程建好了。双击Project视图中的res/res.project文件,将弹出mStudio界面设计器GUI Builder:

在这里可以新建MiniGUI程序,然后可以轻松设计界面了。
注意:如果双击Project视图中的res/res.project文件后没有任何反应,可以尝试如下方法:

a)检查您的安装步骤是否遗漏
b)检查Eclipse的配置是否正确
c)检查/usr/local/bin目录是否在PATH环境变量中
d)运行sudo ldconfig、ldconfig命令
e)运行guibuilder命令

(5)在弹出的GUI Builder设计器中,首先通过New菜单,新建窗口,然后在该窗口上,您可以从左边的控件栏中选中某个空间,然后在UI编辑区中点击,就可以完成控件的绘制,点击保存,代码即可自动生成,然后关闭GUI Builder,并在在Eclipse中,进行编译和运行,即可看到效果。

三、MiniGUI3.0移植到PXA270开发板

MiniGUI的移植需要源代码,但是目前还没有下载到MiniGUI3.0的源代码,我会一直关注飞漫软件公司的动态,等有了源代码,我会及时在这里添加内容的,敬请各位留意我的博客,谢谢。

四、中文环境

默认情况下,图形界面没法显示中文(出现乱码),需要手工配置MiniGUI。替换配置文件中的相应节,最好先备份一下配置文件MiniGUI.cfg。
# vim /usr/local/etc/MiniGUI.cfg

[systemfont]
font_number=6
font0=rbf-fixed-rrncnn-8-16-ISO8859-1
font1=*-fixed-rrncnn-*-16-GB2312
font2=*-Courier-rrncnn-*-16-GB2312
font3=*-SansSerif-rrncnn-*-16-GB2312
font4=*-Times-rrncnn-*-16-GB2312
font5=*-Helvetica-rrncnn-*-16-GB2312

 

 

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

[rawbitmapfonts]
font_number=4
name0=rbf-fixed-rrncnn-8-16-ISO8859-1

fontfile0=/usr/local/share/minigui/res/font/8x16-iso8859-1.bin
name1=rbf-fixed-rrncnn-16-16-GB2312-0
fontfile1=/usr/local/share/minigui/res/font/song-16-gb2312.bin
name2=rbf-fixed-rrncnn-6-12-ISO8859-1
fontfile2=/usr/local/share/minigui/res/font/6x12-iso8859-1.bin
name3=rbf-fixed-rrncnn-12-12-GB2312-0
fontfile3=/usr/local/share/minigui/res/font/song-12-gb2312.bin

[varbitmapfonts]
font_number=3
name0=vbf-Courier-rrncnn-10-15-ISO8859-1
fontfile0=/usr/local/share/minigui/res/font/Courier-rr-10-15.vbf
name1=vbf-Helvetica-rrncnn-15-16-ISO8859-1
fontfile1=/usr/local/share/minigui/res/font/Helvetica-rr-15-16.vbf
name2=vbf-Times-rrncnn-13-15-ISO8859-1
fontfile2=/usr/local/share/minigui/res/font/Times-rr-13-15.vbf

重启电脑。