Freetype下载网站:https://www.freetype.org/
环境:Ubuntu 15.10
Linux kernel:3.4.2
freetype版本:freetype-2.4.10
gcc: 4.3.2
一、安装到Linux主机上
1、解压安装包
在网下下载好安装包后,使用ftp工具上传到Linux主机的某个目录下,然后可以使用一下命令进行解压。 我上传到Linux的目录为:/work/tools/
root@ubuntu:/work/tools# ls
freetype-2.4.10.tar.bz2
root@ubuntu:/work/tools# tar xjf freetype-2.4.10.tar.bz2
2、进入解压后的文件目录
解压压缩包后,将会得到freetype-2.4.10这个文件夹,然后通过cd命令进入这个文件夹
root@ubuntu:/work/tools# ls
freetype-2.4.10 freetype-2.4.10.tar.bz2
root@ubuntu:/work/tools# cd freetype-2.4.10
root@ubuntu:/work/tools/freetype-2.4.10#
3、安装到Linux
可以参考freetype-2.4.10/doc/INSTALL.UNIX文件
1)在freetype-2.4.10目录下执行以下命令,生成Makefile文件
root@ubuntu:/work/tools/freetype-2.4.10# ./configure
2)生成Makefile后,进一步编译,执行make命令
root@ubuntu:/work/tools/freetype-2.4.10# make
3)编译过后,执行以下命令进行安装
root@ubuntu:/work/tools/freetype-2.4.10# make install
NOTE:
1、如何不是在root权限下的话,需要在前面加sudo命令
2、这个命令是安装到默认路径/usr/local下的,如果想指定安装路径可以使用–prefix=命令指定
例如:
./configure –prefix=/usr/local/freetype
这样freetype就会安装到你指定的/usr/local/freetype目录下了
以上安装freetype到Linux主机上就完成了!!!
二、安装到交叉编译工具arm-linux-gcc上
1、解压
1)在/work/toos/目录下建立一个tmp目录,然后把压缩包复制到这个新建的目录下
root@ubuntu:/work/tools# ls
freetype-2.4.10 freetype-2.4.10.tar.bz2
root@ubuntu:/work/tools# mkdir tmp
root@ubuntu:/work/tools# cp freetype-2.4.10.tar.bz2 /work/tools/tmp/
root@ubuntu:/work/tools# cd tmp/
root@ubuntu:/work/tools/tmp# ls
freetype-2.4.10.tar.bz2
2)然后解压
`root@ubuntu:/work/tools/tmp# tar xjf freetype-2.4.10.tar.bz2`
`root@ubuntu:/work/tools/tmp# ls`
`freetype-2.4.10 freetype-2.4.10.tar.bz2`
##2、进入解压后的文件目录
可以参考freetype-2.4.10/doc/INSTALL.CROSS文件
解压后会得到freetype-2.4.10文件,进入后先建立一个临时文件夹tmp,用来指定安装路径的目录,
然后执行以下命令
root@ubuntu:/work/tools/tmp/freetype-2.4.10# ./configure --host=arm-linux
root@ubuntu:/work/tools/tmp/freetype-2.4.10# make
root@ubuntu:/work/tools/tmp/freetype-2.4.10# make DESTDIR=$PWD/tmp install
NOTE:
1、PWD代表的是当前路径
2、–host=arm-linux 指定被执行文件的系统
2、确定交叉编译工具,头文件,库文件的安装路径
1)交叉编译工具路径:
root@ubuntu:/work/tools/tmp/freetype-2.4.10# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/
games:/usr/local/arm/4.3.2/bin::/opt/FriendlyARM/toolschain/4.3.2/bin
NOTE:
1、PATH代表坏境变量
2、由上可知道交叉编译工具的路径为 /usr/local/arm/4.3.2/
进入到交叉编译工具的安装目录/usr/local/arm/4.3.2/
root@ubuntu:/work/tools/tmp/freetype-2.4.10# cd /usr/local/arm/4.3.2/
root@ubuntu:/usr/local/arm/4.3.2#
2)头文件include目录
确定头文件路径
root@ubuntu:/usr/local/arm/4.3.2# find -name include
./lib/gcc/arm-none-linux-gnueabi/4.3.2/include
./lib/gcc/arm-none-linux-gnueabi/4.3.2/install-tools/include
./arm-none-linux-gnueabi/include
./arm-none-linux-gnueabi/libc/usr/include
root@ubuntu:/usr/local/arm/4.3.2#
看到这么多个include,有人会有疑问,怎么知道是哪一个了?
我们可以通过查找stdio.h在哪个来确定
root@ubuntu:/usr/local/arm/4.3.2# find -name stdio.h
./arm-none-linux-gnueabi/include/c++/4.3.2/tr1/stdio.h
./arm-none-linux-gnueabi/libc/usr/include/stdio.h
./arm-none-linux-gnueabi/libc/usr/include/bits/stdio.h
root@ubuntu:/usr/local/arm/4.3.2#
NOTE:
1、由于平时我们引用头文件的时候都是直接#include
3、拷贝freetype的头文件
在刚才安装freetype到tmp这个临时文件下,将里面的头文件和库文件分配拷贝到交叉编译工具的头文件和库文件路径下
1)复制头文件
进入到/tmp/usr/local/inculde
root@ubuntu:/work/tools/tmp/freetype-2.4.10/tmp/usr/local/include# cp * /usr/local/
/4.3.2/arm-none-linux-gnueabi/libc/usr/include -rf
如果编译时找不到freetype文件路径的话,进入include目录执行以下命令
root@ubuntu:/usr/local/arm/4.3.2/arm-none-linux-gnueabi/libc/usr/include# mv freetype2/freetype .
2)复制库文件
进入到/tmp/usr/local/lib
root@ubuntu:/work/tools/tmp/freetype-2.4.10/tmp/usr/local/include# cp * /usr/local/
arm/4.3.2/arm-none-linux-gnueabi/libc/armv4t/lib -d -rf
以上移植freetype到交叉编译工具上就完成了, 如有不对的地方请指出 !!!