交叉编译 libpng-1.6.37 zlib-1.2.11 简单使用

本文详细介绍了如何从libpng官方网站下载并交叉编译libpng 1.6.37版本,同时提供了zlib 1.2.11版本的下载与配置方法。文章指导读者如何设置zlib库的路径和头文件路径,以及如何修改Makefile以适应arm-linux-gcc编译器。完成编译后,将生成的include和lib文件夹复制到交叉编译工具中即可使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下载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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值