因为有个arm测试工具依赖libpng,所以需要交叉编译libpng,而libpng又依赖zlib
1. 首先编译zlib
./configure --prefix=/work/prebuilt/linux-x86/toolchain/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/
修改Makefile,把所有的x86编译相关命令修改为arm的
make install, 会在$PREFIX/lib下生成libz.a 以及几个.h文件到$PREFIX/include下
2. 编译libpng
export PREFIX=/work/prebuilt/linux-x86/toolchain/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/
export CFLAGS=-I$PREFIX/include
export LDFLAGS=-L$PREFIX/lib
./configure --host=arm-linux --prefix=$PREFIX --enable-static
make check; make install
会在$PREFIX/lib下找到libpng的动态库和静态库,以及$PREFIX/include下的libpng 头文件
生成的静态库文件可以用readelf -a检查类型