一.编译环境
1.编译freetype 将要使用到的源码包
freetype-2.2.1.tar.bz2
zlib-1.2.3.tar.gz
2.系统环境
Red Hat Linux9.0
ARM 交叉编译环境 2.95.3( 路径为:/usr/local/arm/2.95.3 )
二.编译过程
1.创建目录,解压源码
mkdir /ft2
mv freetype-2.2.1.tar.bz2 zlib-1.2.3.tar.gz /ft2
cd /ft2
tar -jxvf freetype-2.2.1.tar.gz
tar -zxvf zlib-1.2.3.tar.gz
cp -rf freetype-2.2.1 freetype-x86
//编译arm版本的freetype 库的时候需要 freetype在x86版本中的apinames 工具
//编译x86版本成功后在freetype-x86/objs/目录下有此工具
//虽然在编译arm版本时会生成apinames工具,但是是arm版本,因此不能运行,
//在编译arm的freetype时会有这样的错误提示:apinames:cannot execute binary file
2.新建buildarm脚本
buildarm脚本包括一下内容:
#! /bin/bash
export PATH=/usr/local/arm/2.95.3/bin:$PATH
make
修改buildarm脚本为有可以执行的权限:
chmod 777 buildarm
3.编译freetype的x86版本
cd freetype-x86
./configure
make
4.编译zlib的arm版本( 在编译freetype的arm版本时要用到arm版本libz库)
cd zlib-1.2.3
把buildarm脚本拷贝到zlib-1.2.3目录
./configure
./buildarm
把libz.a 拷贝到/usr/local/arm/2.95.3/arm-linux/lib(这个路径可能不一样)
5.编译freetype的arm版本
cd freetype-2.2.1
把buildarm 拷贝到freetype-2.2.1目录
./configure
./buildarm
注意:
在出现以下错误时/ft2/freetype-2.2.1/src/gzip/ftgzip.c:45: zlib.h: No such file or directory
说明没有找到zlib.h头文件,可以修改ftgzip.c文件中的45行 把#include <zlib.h> 改成#include "zlib.h"
这是应为freetype中已经有zlib.h这个头文件了。修改好了以后继续执行./buildarm
在出现以下错误时/ft2/freetype-2.2.1/objs/apinames: cannot execute binary file
请把freetype-x86中的freetype-x86/objs/apinames 拷贝到 freetype-2.2.1/objs/apinames中,覆盖freetype-2.2.1/objs/目录中的apinames
然后继续执行./buildarm
排除上面的错误以后就可以正常编译通过了.
你所要的freetype库文件在freetype-2.2.1/objs/.libs/路径下面
最后大功告成。
freetype-2.2.1 for arm 编译全过程
最新推荐文章于 2025-03-11 11:58:41 发布