FreeType移植到GEC6818开发板
FreeType 依赖于 libpng库,而 libpng 又依赖于 zlib库,所以我们应该:先编译安装 zlib,再编译安装 libpng,最后编译安装 freetype。
一、前提
创建目录tools
mkdir tools
进入该目录
再创建三个目录libpng、zlib和freetype来保存安装后的头文件以及库文件
mkdir libpng
mkdir zlib
mkdir freetype
二、移植zlib库
下载源码
进入官网 https://www.zlib.net/fossils/,随便选择一个版本下载源码,我这里下载的是最新版
将下载的源码通过命令tar -xvzf xxx进行解压放在tools目录下
我这里都已经解压好了,直接cd进入
指定安装路径:
./configure --prefix=/home/xxx/tools/zlib/
使用make命令编译zlib源码,编译结束后在使用make install进行安装:
三、移植libpng库
进入网站下载https://github.com/glennrp/libpng/tags
解压libpng源码,并cd进入
libpng 依赖于 zlib 库,前面我们已经将 zlib 库编译成功了,但是我们得告知编译器 zlib 库的安装目录,这样编译器才能找到 zlib 的库文件以及头文件,编译 libpng 的时才不会报错,执行以下三条命令将 zlib 库安装目录下的 include 和 lib 路径导出到环境变量:
export LDFLAGS="${LDFLAGS} -L/home/xxx/tools/zlib/lib"
export CFLAGS="${CFLAGS} -I/home/xxx/tools/zlib/include"
export CPPFLAGS="${CPPFLAGS} -I/home/xxx/tools/zlib/include"
对源码进行配置:
./configure --prefix=/home/xxx/tools/libpng --host=arm-poky-linux-gnueabi
使用make,make install进行安装:
四、移植Freetype字体库
下载源码https://sourceforge.net/projects/freetype/files/freetype2/
下载并解压缩,cd进入
对源码进行如下配置:
./configure --prefix=/home/zyc/tools/freetype/ --host=arm-poky-linux-gnueabi --enable-static=yes --with-zlib=yes --with-bzip2=no --with-png=yes --with-harfbuzz=no ZLIB_CFLAGS="-I/home/sen/tools/zlib/include -L/home/sen/tools/zlib/lib" ZLIB_LIBS=-lz LIBPNG_CFLAGS="-I/home/sen/tools/libpng/include -L/home/sen/tools/libpng/lib" LIBPNG_LIBS=-lpng
可能会遇到如下错误:
解决方式:
将libng目录中的bin目录和lib目录拷贝到usr/bin/目录下和/usr/lib目录下,make clean 再configure make make install
最后再将lib目录下的文件拷贝到开发板中即可。