用Microwindows(Nano-X)编写“hello world”

用Microwindows(Nano-X)编写“hello world”

By: 吴垠
Date: 2008-05-09
Homepage: http://blog.csdn.net/wooin
Email: lazy.fox.wu#gmail.com
Copyright: 该文章版权由吴垠和他可爱的老婆小包子所有。可在非商业目的下任意传播和复制。对于商业目的下对本文的任何行为需经作者 同意。
Link:  http://blog.csdn.net/wooin/archive/2008/05/14/2446721.aspx

1. Microwindows, 又叫Nano-X,是一个轻巧的GUI系统,由于其是开源免费的,并且支持中文,所以常被用在需要显示图形界面的嵌入式设备中。对 Microwindows的介绍我就不说了,Google上可以搜到很多。本文主要是介绍如何从网上下载一个Microwindows,并且编译,然后用 Microwindos写出一个自己的"hello world"程序。注意:这里介绍的只是在PC上运行的Microwindows,不是交叉编译嵌入式环境的。

这里(www.microwindows.org) 是Microwindows的官方网站,已经有很多年没有更新了,但是Microwindows的应用并没有因此而减弱。
2. 下面开始今天的工作(我的Linux发 行版是Fedora 5),首先从网站上下载一个Microwindows的源码包,我们用0.90版的,下载后应该是这样的一个文件:microwindows- 0.90.tar.gz
用下面的命令解压,并进入其源码目录:
$ tar -xzvf microwindows-0.90.tar.gz
$ cd microwindows-0.90/src
3. 修改几个文件:
文件 Arch.rules
21行:
COMPILER = gcc
改为
COMPILER = gcc32

因为Fedora 5默认的gcc是4.1.0版,语法检查太严格,Microwindows编译会出错。如果你的发行版上默认的gcc也是4.x版的,请换成3.x版的, 将上面的“gcc32”换成你Linux上gcc 3.x版本的名字,没有的话可能就要自己安装了。
用gcc 4.x也不是不能编译,只是由于Microwindows的代码太老了,跟新编译器不兼容,编译会出一些错误,你按照错误提示修改一下源代码也可以编译通 过,有点麻烦,这里我就不详细介绍了。
110行:
LINK_APP_INTO_SERVER     = N
改为
LINK_APP_INTO_SERVER     = Y

修改文件 config
136行:
HAVE_JPEG_SUPPORT        = Y
改为
HAVE_JPEG_SUPPORT        = N
因为我的电脑上没有 /usr/lib/libjpeg.a 这个文件,编译会出错,如果你有这个文件,
你可以试试不修改上面这行,看看能不能编译通过。
这个可以让Microwindows支持jpeg文件
259行:
X11                      = N
改为
X11                      = Y
修改这个配置让Microwindows使用X11的鼠标和键盘的驱动程序
4. 编译Microwindows:
在microwindows-0.90/src目录下运行make命令进行编译:
$ make
如果没有意外的话会编译成功。如果还有错误的话可能就是你的Linux环境缺文件,可以根据编译报错的提示信息修改config文件试试。

运行一下bin目录下的Demo程序看看你是否编译成功了。mine程序是Microwindows自带的一个扫雷游戏,跟windows下的一样。运行 一下试试:
$ cd bin
$ ./mine
如果你可以看到下图中的游戏界面,就说明你编译成了,恭喜!!
用Microwindows(Nano-X)编写“hello world”_第1张图片
5. 编写自己的"Hello World"程序,在src目录下建一个“projects”文件夹
$ mkdir projects
$ cd projects
然后在里面编写我们的程序,下面列出了“hello.c”源程序和“Makefile”
6.
**************************************************************************







*/




()
{
root_wid, wid;
gc;
x, y;
width, height;
event;

x ;
y ;
width ;
height ;

(() )
{
(");
;
}

gc ();

root_wid (GR_ROOT_WINDOW_ID, x, y, width, height,
, GR_COLOR_ROYALBLUE, GR_COLOR_BLACK);

wid (root_wid, , 60, 200, 60, 1, GR_COLOR_BLACK, GR_COLOR_WHITE);
(root_wid);
(wid);


(gc, GR_COLOR_RED);
(gc, GR_COLOR_GREEN);
(root_wid, gc, , 20, , 1, GR_TFBOTTOM);


(gc, GR_COLOR_RED);
(gc, GR_COLOR_GREEN);
(wid, gc, , 20, , 1, GR_TFBOTTOM);

(;;)
{
(event);
}
();

;
}

7.



TOP
= ..
= $(TOP)/config






= hello.o
= hello

default


/Makefile.rules

(, Y)
= $(CCNANOXCLIENTLIBS)

= $(NANOXCLIENTLIBS)



$(NANOXCLIENTLIBS) $(TOP)/config
$(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(LD_NANOXCLIENTLIBS)


8. 将上面两个源文件创建在你的projects文件夹中,然后运行make命令编译它,如果没有意外的话,在projects文件夹中应该生成一个“hello”可执行文件,执行它,就可以看到下面这个界面了:
用Microwindows(Nano-X)编写“hello world”_第2张图片
9. 剩下的工作就是写你自己的程序了 ^_^
   

你可能感兴趣的:(用Microwindows(Nano-X)编写“hello world”)