freetype是开源的字体引擎库,它提供统一的接口来访问多种字体格式文件,从而实现矢量字体显示。我们只需要移植这个字体引擎,调用对应的API接口,提供字体文件,就可以让freetype库帮我们取出关键点、实现闭合曲线,填充颜色,达到显示矢量字体的目的。
freetype依赖于libpng,libpng又依赖于zlib,所以我们应该先编译安装zlib,再编译安装libpng,最后编译安装freetype。
交叉编译zlib
1、下载源码
https://zlib.net/
2、将zlib-1.3.1.tar.gz 拷贝到开发环境/home/elf/work目录下解压
elf@ubuntu:~/work$ tar xvf zlib-1.3.1.tar.gz
3、进入zlib源码目录内,创建一个install文件夹用来放置编译出来的文件
elf@ubuntu:~/work$ cd zlib-1.3.1
elf@ubuntu:~/work/zlib-1.3.1$ mkdir install
4、设置环境变量
elf@ubuntu:~/work/zlib-1.3.1$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
5、生成Makefile
elf@ubuntu:~/work/zlib-1.3.1$ ./configure --prefix=$(pwd)/install
6、编译
elf@ubuntu:~/work/zlib-1.3.1$ make
7、安装
elf@ubuntu:~/work/zlib-1.3.1$ make install
8、在install目录下生成文件
elf@ubuntu:~/work/zlib-1.3.1/install$ ls
include lib share
9、将install目录下的文件打包
elf@ubuntu:~/work/zlib-1.3.1/install$ tar -cvjf zlib.tar.bz2 *
10、拷贝zlib.tar.bz2到ELF 1开发板根目录下解压
root@ELF1:~# cd /
root@ELF1:/# cp run/media/sda1/zlib.tar.bz2 .
root@ELF1:/# tar -xvf zlib.tar.bz2
交叉编译libpng
1、下载源码
https://www.linuxfromscratch.org/blfs/view/svn/general/libpng.html
2、将libpng-1.6.43.tar.xz 源码拷贝到开发环境/home/elf/work目录下解压
elf@ubuntu:~/work$ tar xvf libpng-1.6.43.tar.xz
3、进入libpng源码目录内,创建一个install文件夹以用来放置编译出来的文件
elf@ubuntu:~/work$ cd libpng-1.6.43
elf@ubuntu:~/work/libpng-1.6.43$ mkdir install
4、设置环境变量
elf@ubuntu:~/work/libpng-1.6.43$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
5、生成Makefile
elf@ubuntu:~/work/libpng-1.6.43$ ./configure --prefix=$(pwd)/install --host=arm
6、编译
elf@ubuntu:~/work/libpng-1.6.43$ make
7、安装
elf@ubuntu:~/work/libpng-1.6.43$ make install
8、在install目录下生成文件
elf@ubuntu:~/work/libpng-1.6.43$ ls install/
bin include lib share
9、将install目录下的文件打包
elf@ubuntu:~/work/libpng-1.6.43/install$ tar -cvjf libpng.tar.bz2 *
10、拷贝libpng.tar.bz2到ELF 1开发板根目录下解压
root@ELF1:~# cd /
root@ELF1:/# cp run/media/sda1/libpng.tar.bz2 .
root@ELF1:/# tar -xvf libpng.tar.bz2
交叉编译freetype
1、下载源码
https://download-mirror.savannah.gnu.org/releases/freetype/
2、将freetype-2.10.2.tar.gz 源码拷贝到开发环境/home/elf/work目录下解压
elf@ubuntu:~/work$ tar xvf qrencode-4.1.1.tar.gz
2.进入freetype源码目录内,创建一个install文件夹以用来放置编译出来的文件:
elf@ubuntu:~/work$ cd freetype-2.10.2/
elf@ubuntu:~/work/freetype-2.10.2$ mkdir install
3.设置环境变量
elf@ubuntu:~/work/freetype-2.10.2$ . /opt/fsl-imx-x11/4.1.15-2.0.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi
4.生成Makefile
elf@ubuntu:~/work/freetype-2.10.2$ ./configure --host=arm-poky-linux-gnueabi --prefix=$(pwd)/install
5、编译
elf@ubuntu:~/work/freetype-2.10.2$ make
6、安装
elf@ubuntu:~/work/freetype-2.10.2$ make install
7、在install目录下生成文件
elf@ubuntu:~/work/freetype-2.10.2$ ls install/
include lib share
8、将install目录下的文件打包
elf@ubuntu:~/work/freetype-2.10.2/install$ tar -cvjf freetype.tar.bz2 *
9、拷贝freetype.tar.bz2到ELF 1开发板根目录下解压
root@ELF1:~# cd /
root@ELF1:/# cp run/media/sda1/freetype.tar.bz2 .
root@ELF1:/# tar -xvf freetype.tar.bz2 |