一、ZLIB库的移植
这个库是接下来的基础,所以很重要。首先下载库的源文件http://www.zlib.net/zlib-1.2.3.tar.gz 下载到miniguilib/里进行解压缩成miniguilib/zlib-1.2.3
1.先修改CC ,CPP,AR,RANLIB,LDSHARED为交叉编译 (操作方法在http://d1.ourdev.cn/bbs_upload782111/files_17/ourdev_466934.pdf有详解)
2.LD=arm-hismall-linux-ld
3.
[root@localhost zlib-1.2.3]# ./configure --prefix=/home/godcyx/share/minigui/minigui_install --shared
[root@localhost zlib-1.2.3]# make
[root@localhost zlib-1.2.3]# make install
二、PNG库的移植
老一套,先下载源文件再进行解压缩到miniguilib/下面,用飞漫和minigui的下载目录下载libpng_src.tgz或者是下载地址http://superb-east.dl.sourceforge.net/sourceforge/libpng/libpng-1.0.10rc1.tar.gz 。
1.cp scripts/makefile.linux Makefile
2.
修改 Makefile
CC=arm-hismall-linux-gcc
prefix=/home/godcyx/share/minigui/minigui_install
ZLIBLIB=/home/godcyx/share/minigui/minigui_install/lib 前面 ZLIB库目录
ZLIBINC=/home/godcyx/share/minigui/minigui_install/include #前面 include库目录
[root@localhost libpng]make
[root@localhost libpng]make install
三、jpeg 库的移植
第一步还是原来的办法先下载再解压,目录都是统一的miniguilib/ ,源文件的下载地址是:ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz ,由于 jpeg 库的 configure 文件设计的有问题,得先用 gcc编译一个 dummy.c 的文件,然后才能后面编译,不然的话就会出现 libtool 找不到之类的错误。所以先本机编译,然后清除后,最后交叉编译即可解决这个问题。
A.
# ./configure --enable-shared --enable-static
# make
# make clean
B.
./configure --prefix=/home/godcyx/share/minigui/minigui_install CC=arm-hismall-linux-gcc 不要加上 --enable-shared --enable-static会提示 make: ./libtool:命令未找到
[root@localhost jpeg-6b]# make
[root@localhost jpeg-6b]# make install
四、libttf 库的移植
http://nchc.dl.sourceforge.net/sourceforge/freetype/freetype-1.3.1.tar.gz 这个库只能全手动安装和编译
[root@localhost miniguilib]# tar xvzf freetype-1.3.1.tar.gz
[root@localhost miniguilib]# mkdir libttf
[root@localhost miniguilib]# cp -p -R freetype-1.3.1/lib/* freetype-1.3.1/lib/arch/ansi/* libttf/
[root@localhost miniguilib]# cd libttf/
执行下面命令行:
arm-hismall-linux-gcc -c -fPIC -O2 freetype.c
arm-hismall-linux-gcc -c -fPIC -O2 -I./ extend/*.c
arm-hismall-linux-gcc --shared -o libttf.so *.o
cp libttf.so /home/jinhequan/minigui/myinstall/lib
五、MINIGUI库文件移植
[root@localhost libminigui-1.6.10]#
配置请看HELP
配置1
./configure --host=arm-hismall-linux --target=arm-hismall-linux --enable-jpgsupport=yes --enable-pngsupport=yes --enable-gifsupport=yes --disable-lite --prefix=/home/godcyx/share/minigui/minigui_install
配置2
./configure --prefix=/home/godcyx/share/minigui/minigui_install --host=arm-hismall-linux --target=arm-hismall-linux --build=i386-linux --with-osname=linux --with-style=classic --with-targetname=fbcon --enable-autoial --enable-rbf16 --disable-vbfsupport CC=arm-hismall-linux-gcc
make
make install
六、MINIGUI资源文件的移植
minigui-res-1.6.10.tar.gz
修改configure.linux文件,指明TOPDIR=/home/godcyx/share/minigui/minigui_install
执行
make install
myroot/usr/local/lib/minigui/res 有 bmp cursor font icon imetab 文件目录
七、应用程序及配置
mg_samples-1.6.10.tar.gz
修改Makefile.am,INCLUDES=-I/home/godcyx/share/minigui/minigui_install/include
[root@localhost samples-1.6.10]#./configure --host=arm-hismall-linux --target=arm-hismall-linux --enable-jpgsupport=yes --enable-pngsupport=yes --enable-gifsupport=yes --disable-lite --prefix=/home/godcyx/share/minigui/minigui_install
[root@localhost samples-1.6.10]# make
#注,若编不过,直接修改src中的Makefile的CC
eg:CC = arm-hismall-linux-gnu-gcc -I/home/godcyx/share/minigui/minigui_install/include -L/home/godcyx/share/minigui/minigui_install/lib -ljpeg -lpng
上面那行在本人机子编译不过,修改如下
CC = arm-hismall-linux-gcc -I/home/godcyx/share/minigui/minigui_install/include -L/home/godcyx/share/minigui/minigui_install/lib -lm -lz -lpthread -ljpeg -lpng
mde-1.6.10.tar.gz
[root@localhost mde-1.6.10]# ./configure --host=arm-hismall-linux --target=arm-hismall-linux --enable-jpgsupport=yes --enable-pngsupport=yes --enable-gifsupport=yes --disable-lite --prefix=/home/godcyx/share/minigui/minigui_install
进入mde-1.6.10中的每个例子,修改所有MAKEFILE中的CC如下
CC = arm-hismall-linux-gcc -I/home/godcyx/share/minigui/minigui_install/include -L/home/godcyx/share/minigui/minigui_install/lib -lm -lz -lpthread -ljpeg -lpng
[root@localhost mde-1.6.10]# make
拷贝上面子目录的程序及所有res目录到 myroot/usr/bin 中
最后复制/home/godcyx/share/minigui/minigui_install/etc/MiniGUI.cfg 到 /etc/MiniGUI.cfg
修改 MiniGUI.cfg
# GAL engine and default options
gal_engine=fbcon
defaultmode=480x272-32bpp
# IAL engine
ial_engine=fbcon
mdev=/dev/input/mouse
mtype=IMPS2
上面3行在本人机子编译不过,修改如下
ial_engine=console
mdev=/dev/mouse0
mtype=IMPS2
最后:运行海思hifb例子 /mnt/Hi3515_SDK_V1.0.5.0.c1/mpp/sample/hifb/api_sample_hifb n 0 &