和他最大的不同在于字库的安装和最后放到文件系统的过程。并且多了一些错误提示;本人在FC6下历时三天,终于移植成功,在此和大家分享以下经验;
关于交叉编译环境的建立我在此都不啰嗦了,相信大家都看移植了,环境已经没问题了
说一下我的开发环境
CROSS_COMPILE = /opt/host/armv4l/bin/armv4l-unknown-linux-gcc
prefix=/opt/host/armv4l/armv4l-unknown-linux
首先安装 zlib 库,这个是后面的库的编译基础。
http://www.zlib.net/zlib-1.2.3.tar.gz 400多K,去下载吧, 下载后方到/resplendent/minigui_complate_install/目录下
cd下载到目录 /resplendent/minigui_complate_install/
[user]# tar zxf zlib-1.2.3.tar.gz
由于 zlib 库的configure 脚本不支持交叉编译选项,只好自己动用了,手动临时把 gcc 修改成指向我们的交叉编译器 /opt/host/armv4l/bin/armv4l-unknown-linux-gcc
[Root]# cd /usr/bin
[Root]# mv gcc gcc_back
[Root]# ln -s /opt/host/armv4l/bin/armv4l-unknown-linux-gcc ./gcc
[Root]# mv ld ld_back
[Root]# ln -s /opt/host/armv4l/bin/armv4l-unknown-linux-gcc ./ld
OK ,修改完成后回到 /resplendent/minigui_complate_install/zlib-1.2.3目录下
[user]# ./configure --prefix=/opt/host/armv4l/armv4l-unknown-linux/ --shared
注意:这里配置指向 /opt/host/armv4l/armv4l-unknown-linux/目录,会自动安装在 /opt/host/armv4l/armv4l-unknown-linux/ [include,lib] 目录下,千万不要装错目录了,不然后面会找不到这个库的
[user]# make
[Root]# make install
安装完后检查一下目录 /opt/host/armv4l/armv4l-unknown-linux/ [include,lib] ,假如 include 中没有 zlib.h 之类的头文件,lib 中没有 libz.so.1.2.3 ,那就自己手动拷到这些目录下去,记着拷的时候把所有的 *.h 都需要拷过去,在拷库的时候用 cp –a libz.* /…./lib 就行,要用上 –a 选项 .
记着把刚才改过的 gcc 再改回去,不然后面会出错的!!!!!
安装 png 库,这个是用来显示 png 图形的,MiniGUI 里很多图都是 png 的,如果没有这个库,你的 MiniGUI 将无法正常工作,切记切记!
http://superb-east.dl.sourceforge.net/sourceforge/libpng/libpng-1.0.10rc1.tar.gz
还是那句话,库不要用最新的,最新的容易有问题,用这个老一点的就没问题了,呵
安装 png 库,这个是用来显示 png 图形的,MiniGUI 里很多图都是 png 的,如果没有这个库,你的 MiniGUI 将无法正常工作,切记切记!
http://superb-east.dl.sourceforge.net/sourceforge/libpng/libpng-1.0.10rc1.tar.gz
还是那句话,库不要用最新的,最新的容易有问题,用这个老一点的就没问题了,呵
[root@localhost minigui_complate_install]# tar zxvf libpng-1.0.10rc1.tar.gz
[root@localhost minigui_complate_install]# cd libpng-1.0.10rc1
Libpng 不提供有效的 configure 脚本,所以只好自己动手改 Makefile 文件了
[root@localhost libpng-1.0.10rc1]# cp scripts/makefile.linux Makefile//把 Scripts 下的一个 makefile 拷出来自己动手改
[root@localhost libpng-1.0.10rc1]# vi Makefile
CC=/opt/host/armv4l/bin/armv4l-unknown-linux-gcc //修改这里
# where "make install" puts libpng.a, libpng.so*, png.h and pngconf.h
prefix=/opt/host/armv4l/armv4l-unknown-linux //修改这里
# Where the zlib library and include files are located
#ZLIBLIB=/usr/local/lib
#ZLIBINC=/usr/local/include
ZLIBLIB=/opt/host/armv4l/armv4l-unknown-linux/lib //修改这里
ZLIBINC=/opt/host/armv4l/armv4l-unknown-linux/include //修改这里
好了,保存,然后去编译吧
[user]# make
[user]# make install
//make install的时候有错误,不过可以自己用手copy过去
如果有错误,检查你前面的步骤哪个没做对:) 尤其是 zlib 的安装
还是前面说的,检查 /opt/host/armv4l/armv4l-unknown-linux/ [include,lib] 目录中有成功安装否,如果没有安装成功,那就自己把编译出来的东西拷过去。记着,*.h 和 .so 的文件都要拷。
lrwxrwxrwx 1 root root 11 08-11 22:45 libpng.so -> libpng.so.2
lrwxrwxrwx 1 root root 21 08-11 22:45 libpng.so.2 -> libpng.so.2.1.0.10rc1
-rwxr-xr-x 1 root root 201596 08-11 22:45 libpng.so.2.1.0.10rc1
小心这里的几个链接文件,缺少会导致后面的checking for png_check_sig in -lpng... no
一定记住要拷贝过去
出处:http://hi.baidu.com/luv%5Fresplendent/modify/blog/6126a82349681948925807d1