Libpng zlib 编译记录

由于 这两款的版本可能不对应 编译的时候 libpng中是已经预先 设定了指定的 zlib 版本 比如 1.2.8版本 所以要根据需求改名字。

libpng用于图片处理,zlib用于压缩。两者密切相关,libpng依赖zlib。

复制 自:lemianli

编译库:

1. 先下载 libpng(http://sourceforge.net/projects/libpng/files/)和libz(http://zlib.net/zlib-1.2.7.tar.gz),将libpng解压,如C:\workspace\libpng\。

2. 将libz解压,改名zlib放到libpng同级目录,如C:\workspace\zlib。

3. 进入libpng\projects\visualc71\,用visual studio打开工程文件,方案中会有三个子工程:libpng, pngtest, zlib。直接编译,不出意外会在Win32_DLL_Debug目录下和Win32_DLL_Debug\ZLib目录下生成zlib1d.dll, libpng15d.dll, libpng.lib和zlib.lib等库文件。

4.若报错,拷贝scripts/pnglibconf.h.prebuilt到源码目录,改名为pnglibconf.h

对于要用到这两个库的工程,主要需要做三件事:

1. C/C++常规->附加包含目录中把包含png.h等头文件的目录加进来

2. 链接器->输入->附加依赖项中加zlib.lib;libpng.lib。

3.通用属性->VC++ 目录->库目录中把放着zlib.lib和libpng.lib的目录加进来。

然后 cd 无法切换 盘符 采用直接  E:

然后按照 https://blog.csdn.net/moyumoyu/article/details/7950528 进行配置

可以直接带上头文件 #include "fftw3.h" 即可

dll 放在 中并不行 windows/system32

还是放在 C:\Windows\SysWOW64   解决的问题。

这两句话要放在 最前面才行。 M_PI

#define _USE_MATH_DEFINES
#include <cmath>

解决 fopen 函数的安全性 warning问题:

(无法解决)1、在文件开头添加 #define _CRT_SECURE_NO_WARNINGS

(解决)3、在 项目->属性->C/C++->预处理器->预处理器定义中添加_CRT_SECURE_NO_WARNINGS

只生成了 libpng16, 未生成libpng16d 。 是通过改名字成libpng16d  解决的。

全部为32位的。

dll 全部都 放在了:  C:\Windows\SysWOW64

debug 的速度很慢

release 则要对应release的 pnglib。dll

猜你喜欢

转载自blog.csdn.net/qq_20538071/article/details/82558883