现在开始安装 libttf 库,这个是 TrueType 字体的支持库,用来显示文字的。
http://nchc.dl.sourceforge.net/sourceforge/freetype/freetype-1.3.1.tar.gz
注意:MiniGUI 的文档说只支持 1.3.1 版本的 ttf 库,不要把版本弄错了 :)
这个库装起来最麻烦,全部自己手动编译,安装,下面一步一步来做吧:)
[root@localhost minigui_complate_install]# tar zxvf freetype-1.3.1.tar.gz //老一套
[root@localhost minigui_complate_install]# cd freetype-1.3.1 //进到目录里去
[root@localhost minigui_complate_install]# cd lib
[root@localhost lib]# armv4l-unknown-linux-gcc -c -fPIC -Iarch/ansi - I. arch/ansi/freetype.c
//不要奇怪,对,我们只要编译这一个 .c 文件,因为它包括了其它所有的 .c 文件了,你可以自己查看它的内容
[root@localhost lib]# armv4l-unknown-linux-gcc -c -fPIC -Iarch/ansi - I. extend/ftx*.c
把 extend 下所有的 .c 文件全部编译
[root@localhost lib]# armv4l-unknown-linux-gcc --shared -o libttf.so *.o 生成最后的动态链接库,OK了
[root@localhost lib]# ls
arch ftxgasp.lo ftxpost.lo ttcache.c ttfile.c ttobjs.c
extend ftxgasp.o ftxpost.o ttcache.h ttfile.h ttobjs.h
file.c ftxgdef.lo ftxsbit.lo ttcalc.c ttgload.c ttraster.c
freetype.h ftxgdef.o ftxsbit.o ttcalc.h ttgload.h ttraster.h
freetype.lo ftxgpos.lo ftxwidth.lo ttcmap.c ttinterp.c tttables.h
freetype.o ftxgpos.o ftxwidth.o ttcmap.h ttinterp.h tttags.h
fterrid.h ftxgsub.lo header.h ttconfig.h ttload.c tttypes.h
ftnameid.h ftxgsub.o libttf.la ttdebug.c ttload.h
ftxcmap.lo ftxkern.lo libttf.so ttdebug.h ttmemory.c
ftxcmap.o ftxkern.o memory.c ttengine.h ttmemory.h
ftxerr18.lo ftxopen.lo mutex.c ttextend.c ttmutex.c
ftxerr18.o ftxopen.o ttapi.c ttextend.h ttmutex.h
现在手动安装,得自己建立一下目录
[Root] mkdir -p /opt/host/armv4l/armv4l-unknown-linux/include/freetype1/freetype
[root@localhost lib]# cp *.h /opt/host/armv4l/armv4l-unknown-linux/include/freetype1/freetype
[root@localhost extend]# cp *.h /opt/host/armv4l/armv4l-unknown-linux/include/freetype1/freetype
[root@localhost lib]# cp libttf.so /opt/host/armv4l/armv4l-unknown-linux/lib
安装库完成,哈!
经过试验发现 MiniGUI 1.3.3 版本在链接 ljpeg lpng lttf 时老是要链接 /usr/lib 下的库,没办法,用老方法
[Root]# cd /usr/lib
现在手动安装,得自己建立一下目录
[root@localhost lib]# mv libttf.so libttf.so_back
[root@localhost lib]# mv libjpeg.so libjpeg.so_back
[root@localhost lib]# mv libpng.so libpng.so_back
[root@localhost lib]# ln -s /usr/local/arm/2.95.3/arm-linux/lib/libjpeg.so ./libjpeg.so
[root@localhost lib]# ln -s /usr/local/arm/2.95.3/arm-linux/lib/libpng.so ./libpng.so
[root@localhost lib]# ln -s /usr/local/arm/2.95.3/arm-linux/lib/libttf.so ./libttf.so完成以上工作后就可以编译 libminigui 了
出处:http://hi.baidu.com/luv%5Fresplendent/modify/blog/44f3210a87e7f338b1351ddc