下载libpng
libpng官方网站
目前最新 1.6.37
https://sourceforge.net/projects/libpng/files/libpng16/1.6.37/libpng-1.6.37.tar.xz/download?use_mirror=nchc
获得 libpng-1.6.37.tar.xz
使用libpng还需要使用zlib,下载地址:
zlib官方网站
目前最新 1.2.11
https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz/download?use_mirror=nchc&download=
zlib 安装
tar xzf zlib-1.2.11.tar.gz
mkdir tmp
./configure --prefix=$PWD/tmp
vim Makefile
将第19,30,31行的gcc改为arm-linux-gcc后保存退出
make && make install
tmp目录下就生成了安装后的文件
libpng 安装
解压
xz -d libpng-1.6.37.tar.xz
tar xvf libpng-1.6.37.tar
配置&安装
cd libpng-1.6.37
mkdir tmp
使用以下命令指定zlib库的路径和头文件路径
ZLIBLIB=/path/to/lib export ZLIBLIB
ZLIBINC=/path/to/include export ZLIBINC
CPPFLAGS="-I$ZLIBINC" export CPPFLAGS
LDFLAGS="-L$ZLIBLIB" export LDFLAGS
LD_LIBRARY_PATH="$ZLIBLIB:$LD_LIBRARY_PATH" export LD_LIBRARY_PATH
./configure CC=arm-linux-gcc --prefix=$PWD/tmp --host=arm-linux
make && makeinstall
在tmp目录下就获得了四个文件夹
bin include lib share
将 include 和 lib 复制到交叉编译工具,就可以使用了
使用注意
If your application fails to find libpng or zlib entries while linking:
Be sure “-lz” appears after “-lpng” on your linking command.
Be sure you have built libpng, zlib, and your application for the same platform (e.g., 32-bit or 64-bit).
If you are using the vstudio project, observe the WARNING in project/vstudio/README.txt.
编译时应该加上 -lz -lpng 指定使用的库
arm-linux-gcc -o png2rgb png2rgb.c -lz -lpng