Libpng网站:libpng.org: top levelhttp://www.libpng.com/
下载libpng源码:
获得压缩包:lpng1637.zip(用于windows下编译)、libpng-1.6.37.tar.gz(用于linux下编译)
2、windows下编译解压缩lpng1637.zip,进入lpng1637文件夹。
用CMake配置VS2019工程。
设置为x64平台,采用visual studio 16 2019
配置zlib路径(包括头文件、库文件)
配置生成debug版本
配置生成的路径
编译png和install即可
3、Linux下编译解压缩libpng-1.6.37.tar.gz,进入libpng-1.6.37文件夹。
赋予 configure 权限
配置configure命令:
./configure --prefix=/files/3rdParty CFLAGS=-I/files/3rdParty/include LDFLAGS=-L/files/3rdParty/lib LIBS=-Ilibz
编译,make
出现错误:
pnglibconf.c:34:11: 致命错误:zlib.h:没有那个文件或目录
虽然指定了目录,实际上形成Makefile的时候,并没有包含这个目录。
打开Makefile.in,修改如下:
DEFAULT_INCLUDES = -I.@am__isrc@ ${CCASFLAGS}
再次make,就不在出错。
安装,make install
4、MacOS下编译解压缩libpng-1.6.37.tar.gz,进入libpng-1.6.37文件夹。
赋予 configure 权限
配置configure命令:
./configure --prefix=/files/3rdParty CFLAGS=-I/files/3rdParty/include LDFLAGS=-L/files/3rdParty/lib LIBS=-Ilibz
出现错误:
./pngpriv.h:920:4: error: ZLIB_VERNUM != PNG_ZLIB_VERNUM "-I (include path) error: see the notes in pngpriv.h"
# error ZLIB_VERNUM != PNG_ZLIB_VERNUM
原因:zlib与png版本号不一样,这里先忽略。
打开pngpriv.h文件,定位到920行,注释掉对应的部分:
保持pngpriv.h文件,重新编译make
安装,make install



