主要文档都是fp完成的,我只是在他的基础上修改了一些文章中的小错误。
第一部分:minigui-1.3.3移植到SEP4020EVB详解
在这里只讲怎样将minigui-1.3.3移植到开发板EVB-SEP4020上去,在pc上安装minigui-1.3.3不用讲,这里我用到的交叉编译器是arm-linux-gcc3.4.1
MiniGUI 的编译需要一些库文件,缺省我们的 gcc 基本上都有这些库文件,所以不需要安装,可是现在要交叉编译了,交叉编译器可是不带这些库文件的,所以我们得首先自己编译这些库文件装到交叉编译器中去。
注意一点:库不一定要装最新的,库版本太新,MiniGUI 有可能不认识,像jpeg 库和 ttf 库就是这样,太新了反而用不了,所以要注意版本,以下的库都是我验证过可以和MiniGUI一起工作的,其它版本的库没试过,不保证能正确通过:)
(1)首先安装 zlib 库,这个是后面的库的编译基础。
http://www.zlib.net/zlib-1.2.3.tar.gz 400多K,下载到目录 /root/cross 下
[user]# tar zxf zlib-1.2.3.tar.gz
由于 zlib 库的configure 脚本不支持交叉编译选项,只好自己动用了,手动临时把 gcc 修改成指向我们的交叉编译器 arm-linux-gcc
[Root]# cd /usr/bin
[Root]# mv gcc gcc_back
[Root]# ln -s /usr/local/arm/3.4.1/bin/arm-linux-gcc ./gcc
[Root]# mv ld ld_back
[Root]# ln -s /usr/local/arm/3.4.1/bin/arm-linux-ld ./ld
OK ,修改完成后回到 /root/cross/zlib-1.2.3 目录下
[user]#./configure --prefix=/usr/local/arm/3.4.1/arm-linux --shared
注意:这里配置指向/usr/local/arm/3.4.1/arm-linux 目录,会自动安装在 /usr/local/arm/3.4.1/arm-linux / [include,lib] 目录下,千万不要装错目录了,不然后面会找不到这个库的
[user]# make
[Root]# make install
若用gcc3.4.1是不会出现什么错误的,呵呵。
安装完后检查一下目录 /usr/local/arm/3.4.1/arm-linux / [include,lib] ,假如 include 中没有 zlib.h 之类的头文件,lib 中没有 libz.so.1.2.3 ,那就自己手动拷到这些目录下去,记着拷的时候把所有的 *.h 都需要拷过去,在拷库的时候用 cp –a libz.* /…./lib 就行,要用上 –a 选项
记着把刚才改过的 gcc 再改回去,不然后面会出错的!!!!!(一定记得改)
【root】# cd /usr/bin
【root】# mv gcc_back gcc
【root】# mv ld_back ld
(2)安装 png 库,这个是用来显示 png 图形的,MiniGUI 里很多图都是 png 的,如果没有这个库,你的 MiniGUI 将无法正常工作,切记切记!
http://prdownloads.sourceforge.net/libpng/libpng-1.2.18.tar.bz2?download(png 库)
还是那句话,库不要用最新的,最新的容易有问题,用这个老一点的就没问题了,呵
[root]# tar zxf libpng-1.2.18 .tar.gz
[root]# cd libpng-1.2.18
[root]# ./configure CC=arm-linux-gcc --build=i686-pc-linux --target=arm-linux --host=arm-linux prefix=/usr/local/arm/3.4.1/arm-linux
注意这边的配置:①使用交叉编译器②安装目录③—host 指定软将运行平台,不然终端
也会提示说叫你使用—host 参数的。
# make
# make install
安装完了,查看下/usr/local/arm/3.4.1/arm-linux/目录下的 lib 文件夹里是否有 libpng.a,
libpng.so 等文件和 include 文件夹里是否有 png.h,pngconf.h 文件以及 libpng12 文件夹。
(3)第三步:安装 jpeg 库
在http://download.enet.com.cn/html/242232006010901.html(jpeg 库)下载到/root/cross/下面
# cd /root/cross/jpeg-6b
# ./configure CC=arm-linux-gcc --build=i686-pc-linux --target=arm-linux --host=arm-linux prefix=/usr/local/arm/3.4.1/arm-linux --enable-