zlib、libpng、freetype这三个是不同的库,所谓安装也就是用相应的工具链编译,并把编译好的头文件和库文件放到正确的位置。
freetype依赖于libpng,libpng又依赖于zlib,所以安装顺序是zlib—lbpng-freetype。
什么是正确的位置?
就是我们交叉编译工具链在编译程序时去找头文件和库文件的位置。
如何知道这个位置?
执行如下命令:
echo 'main(){}'| arm-linux-gcc -E -v -
头文件位置:/work/tools/gcc-3.4.5-glibc-2.3.6/lib/gcc/arm-linux/3.4.5/include
库文件位置:/work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
下载源码,打开官方网站www.zlib.net
解压:
- xz -d zlib-1.2.12.tar.gz.xz
- tar -vxf zlib-1.2.12.tar.gz
进入zlib目录:
cd zlib-1.2.12
创建一个输出目录
mkdir buildout
配置
./configure --prefix=./buildout
修改Makefile文件
vim Makefile
- CC=gcc改为CC=arm-linux-gcc
- LDSHARED=gcc改为LDSHARED=arm-linux-gcc
- CPP=gcc -E改为CPP=arm-linux-gcc -E
- AR=ar改为AR=arm-linux-ar
执行make,然后执行make install ,执行完就在buildout目录下生成我们需要的文件了
移动到正确的目录
- cp ./buildout/include/* -rf /work/tools/gcc-3.4.5-glibc-2.3.6/lib/gcc/arm-linux/3.4.5/include
-
- cp ./buildout/lib/* -rfd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
前面都一样www.libpng.com下载解压,进入目录
然后执行下面三条命令
- ./configure --host=arm-linux --prefix=$PWD/tmp
- make
- make install
执行完就在tmp目录下生成了我们需要的头文件和库
移动到正确的目录
- cp ./tmp/include/* -rf /work/tools/gcc-3.4.5-glibc-2.3.6/lib/gcc/arm-linux/3.4.5/include
-
- cp ./tmp/lib/* -rfd /work/tools/gcc-3.4.5-glibc-2.3.6/arm-linux/lib
过程和安装libpng一模一样
需要注意的是他的头文件include目录下还有一层目录,为freetype2,应当用命令:
mv ./tmp/include/freetype2/* ./tmp/include
移动后再移动至交叉编译根据的头文件目录。