Visual studio中编译和使用libpng和zlib

Visual studio中编译和使用libpng和zlib

libpng用于图片处理,zlib用于压缩。两者密切相关,libpng依赖zlib。这里主要记录下windows下怎样利用vs2015编译和使用这两个库。

一、         库的下载

libpng:这是从www.libpng.org/pub/png/libpng.html网站下载的,我下载的是lpng1621.zip,也就是1.6.2.1版本。

zlib:这是从http://www.zlib.net/网站下载的,我下载的是zlib-1.2.8.tar.gz,也就是1.2.8版本。

首先解压zlib-1.2.8.tar.gz到VS的工作空间下一个文件夹,例如D:\workspace\zlib-1.2.8\,然后再将libpng解压到和zlib同级的目录,例如:D:\workspace\ libpng-1.6.2.1\

├──libpng-1.6.2.1

└──zlib-1.2.8

二、         项目设置和编译

进入libpng-1.6.2.1\projects\vstudio,用visual studio打开工程文件vstudio.sln,方案中会有七个子工程:libpng,pngtest,zlib,pnglibconf,pngstest,pngunknown,pngvalid。


首先设置libpng为启动项目,然后选中libpng点右键—》选择属性进行相应的项目设置,主要是要设置将来需要使用的目标的平台架构,如:X86或X64,是release版本还是debug版本,由于这个版本会自动生成静态编译库和动态编译库,所以其他的基本可不用设置了。

扫描二维码关注公众号,回复: 3791400 查看本文章


设置往后,可以开始编译libpng了,在编译libpng库的时候会自动先将zlib先编译,所以zlib的源码包必须解压到相应的路径,否则libpng将不能编译。编译完成后,vs将自动根据先前的项目设定将编译完的zlib和libpng库存放到相应的目录,例如:libpng-1.6.2.1\projects\vstudio\x64\Release目录下,编译生成的文件清单如下:


三、          Windows下两种使用库的方法

在windows下药使用zlib和libpng库有两种方法:

  • 使用静态库
  • 使用动态库

首相要在项目中加入zlib和libpng的头文件(.h文件),如果使用静态库则要将先前编译生成的lib文件和加入到项目路径中;如果使用动态库,还要拷贝dll文件。可以使用#pragmacomment( lib, "zlib1.lib")指定相应的库。

另外,如果在使用库的项目中,如果编译链接的时候出现下面警告,并可能伴有其他错误则需要设置/NODEFAULTLIB:library选项:

 

MSVCRT.lib(initializers.obj):-1: warning: LNK4098:默认库“msvcrtd.lib”与其他库的使用冲突;请使用/NODEFAULTLIB:library

 

在项目属性中忽略掉导入库,具体设置参见下图:


猜你喜欢

转载自blog.csdn.net/liuyez123/article/details/50629906