Chinaunix首页 | 论坛 | 博客
  • 博客访问: 196165
  • 博文数量: 67
  • 博客积分: 3415
  • 博客等级: 中校
  • 技术积分: 860
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-27 17:05
文章分类

全部博文(67)

文章存档

2010年(64)

2009年(3)

我的朋友

分类: LINUX

2010-01-17 19:26:59

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) |
给主人留下些什么吧!~~

chinaunix网友2011-05-16 15:36:38

你好!我在redhat上安装minigui,老遇到问题,一个星期了也没装上去,非常希望的到你的帮助.如能蒙先生指点,我不胜感激!QQ531575209