miniGUI发布了一个GPL版本,目前的版本号是GPL-V1.6.10(2008-08-05)。在SourceForge.net上面有整套源代码下载 。
地址:。
包括的文件有:
Latest GPL-V1.6.10 Notes (2008-08-05 06:12)
games-1.6.10.tar.gz 402485 3010 Platform-Independent
jpegsrc.v6b.tar.gz 613261 2526 Platform-Independent
libminigui-1.6.10.tar.gz 2786624 6993 Platform-Independent
libpng_src.tgz 488110 2329 Platform-Independent
mde-1.6.10.tar.gz 607273 3591 Platform-Independent
mg-samples-1.6.10.tar.gz 577762 3983 Platform-Independent
minigui-res-1.6.10.tar.gz 2956865 4973 Platform-Independent
qvfb-1.1.tar.gz 796389 3072 Platform-Independent
samples-1.6.10.tar.gz 25179529 4234 Platform-Independent
飞漫的官方网站上有miniGUI中文的参考资料和手册,地址:。
包括的文档有:
MiniGUI 技术白皮书 for V2.0.4/1.6.10 [PDF]:该文档描述了 MiniGUI V2.0.4/1.6.10 的技术特性。
Datasheet for MiniGUI V2.0.4/1.6.10 [PDF]:该文档对 MiniGUI V2.0.4/1.6.10 产品功能特性进行了详尽的介绍。
《MiniGUI 用户手册》V2.0.4/1.6.10 [PDF]:主要描述 MiniGUI 的编译时配置选项和运行时配置选项。
《MiniGUI 编程指南》V2.0.4/1.6.10 [PDF]:该文档是一本关于 MiniGUI 编程的完整指南,讲述了 MiniGUI 编程的基础知识和各种编程方法及技巧,并详细地描述了主要的API 函数。
《MiniGUI API 参考手册》V1.6.10:本文档是 MiniGUI V2.0.4 最详尽的应用程序编程接口参考手册。其中描述了 MiniGUI 所有的函数、结构、消息以及控件的接口定义和使用方法,是进行 MiniGUI 编程不可缺少的手册。
笔者的工作环境:ubuntu9.04, gcc4.3.3。
下面,我要在电脑上搭建miniGUI的开发环境,并会如实记录下整个过程中出现的问题,如果你有疑问或者好的建议,请一定给我留言,谢谢。
1,安装miniGUI的资源文件,minigui-res-1.6.10.tar.gz,miniGUI所使用的资源, 包括基本字体、图标、位图和鼠标、光标。
#解压资源包minigui-res-1.6.10.tar.gz, /work/minigui/是我minigui的工作目录。
tar -xvzf minigui-res-1.6.10.tar.gz -C /work/minigui/
#进入解压后的资源目录,进行安装
cd /work/minigui/minigui-res-1.6.10/
make install
#如果提示Permission denied,表明权限问题,用root去执行,也可以在命令前使用sudo,以后不再说明。
#资源文件不需要编译的,直接执行安装,执行的只是简单的拷贝操作。资源中包含了图标,光标等,都是可以直接看到的。
2,安装lib文件,libminigui-1.6.10.tar.gz,MiniGUI函数库源代码,其中包括libminigui、libmgext 和libvcongui。
#lib文件即是库文件,提供使用minigui编程的函数库的支持,应该是最核心的部分。
#源代码需要自己编译,时间可能有点长。当然,首先要作的还是现解压。
tar -xvzf libminigui-1.6.10.tar.gz -C /work/minigui/
#进入解压后的源码目录
cd /work/minigui/libminigui-1.6.10/
#配置,编译,安装
./configure
make
make install
#默认的安装路径在“/usr/local/lib/”下,安装完了去该目录,就可以看到“libminigui*”的库文件。
#一些资料上说要把路径/usr/local/lib/添加到lib的搜索路径中,相关的配置文件是"/etc/ld.so.conf"。
#但是笔者的这个配置文件中又包含了“/etc/ld.so.conf.d/"下面的配置文件,其中已经包含了“/usr/local/lib"路径。
3,安装qvfb。
#miniGUI是基于帧缓存的,而不是我们平时PC平台上X窗口,所以需要qvfb模拟帧缓存来运行显示效果。
#安装qvfb可以使用qvfb-1.1.tar.gz,但是我在./configure的时候老出错,好在ubuntu的源中直接有一个软件包,包含了qvfb。
sudo apt-get install qt3-dev-tools-embedded
#在终端运行qvfb,就可以看到窗口了,还有一些设置选项。
4,支持jpeg和png,jpegsrc.v6b.tar.gz,libpng_src.tgz。
#解压到工作目录
tar -xvzf jpegsrc.v6b.tar.gz -C /work/minigui/
tar -xvzf libpng_src.tgz -C /work/minigui/
#分别进入解压后的源码目录,编译
cd /work/minigui/jpeg-6b/
注意:这里有的时候会出现一个错误,那就是找不到man1文件。不要怀疑我的制作,那是改进的时候把路径添加了解决办法:在man文件夹后添加一个man1文件夹就行了。
make install
cd /work/minigui/libpng
make install
5,编译测试《MiniGUI编程指南》的示例代码,mg-samples-1.6.10.tar.gz。
#《MiniGUI编程指南》可从官方网上下载,手册上所有示例均在mg-samples-1.6.10.tar.gz中。
tar -xvzf mg-samples-1.6.10.tar.gz -C /work/minigui/
cd /work/minigui/mg-samples-1.6.10/
./configure
make
#编译后在源码目录下面生成了很多可执行文件。
6,通过qvfb来测试示例。
#打开终端,运行qvfb, 注意要在后台运行。
qvfb &
#这时候已经可以看到程序运行的窗口,在File中可以设置窗口的大小,根据后面的提示,先选择窗口的大小为640*480 "VGA", 否则后面的操作也错误。
#打开示例程序,如helloworld。
注意:这个地方在添加的时候要调整一下你的qvfb大小。还有不要打开太多的qvfb那样你的空间就没法被分配了。
./helloworld
非常重要的一点:运行时很有可能出现找不到一些动态连接库的问题。解决办法。只要到你的/etc/ld.so.conf下添加/usr/local/lib(这里我们不考虑那个ld.so.conf.d里面的东西了)一定要运行一下命令:ldconfig。(大概的意思可能就是对动态连接库进行一个自动的配置)
#现在就能看到"helloworld"程序运行的窗口了。
#附加:
如何编译自己写的minigui程序,比如helloworld.c:
gcc -o helloworld helloworld.c -lminigui -ljpeg -lpng -lz
注意:你的helloworld文件在那里都是可以的。以为你的交叉编译工具已经安装好了。所以编译其他未知的文件时候可能会出错,说是有是未定义的参数。这样的话你可以这么解决:
都是线程库出错的信息,看线程库有没有问题,然后使用-lminigui -lmgext -lpthread 试试。不使用静态库,使用新版本minigui这么编译是可以的
如果miniGUI被配置成了MiniGUI-Threads(默认是这个,上面的过程也是这个)
gcc -o helloworld helloworld.c -lpthread -lminigui -ljpeg -lpng -lz
阅读(1277) | 评论(1) | 转发(0) |