在VisualStudio2008中开发libpng的最快捷最简单的方法是什么?

时间:2011-12-29 14:37:01

标签: c++ visual-studio visual-studio-2008 png libpng

我有一些使用boost的GIL图像库的C ++代码,并希望使用boost::gil::png_write_view中的boost/gil/extension/io/png_io.hpp来编写文件。该标头本身包含png.h,当然还有链接依赖关系。

在Debian上,它编译并链接正常。如果它确实抱怨任何遗漏,那么必要的标题和库将在几秒钟之后通过aptitude install libpng-dev

在Windows(XP64上的VisualStudio 2008)上,我不得不面对这样的想法:我自己必须从源代码构建libpng(以及它的zlib依赖项)。如果那里已经有明显的包装,我就没有看到它。如果有任何有用的资源,任何人都可以启发我吗?

1 个答案:

答案 0 :(得分:4)

Libpng自己的包装本身似乎提供了vc6和VC7.1(VS2003)的项目文件。 VC10项目文件还附带了最新版本。但VC8(VS2005)或VC9(VS2008)没有任何内容。但是有instructions here(我还没试过),它描述了在通过转换向导运行7.1项目文件后构建2008年。

我最初尝试了GnuWin32 build of libpng,但是(除了只有32位)它在从VS2008的CRT传递FILE *时在对fwrite的libpng调用中崩溃了。 libpng自己的文档有关于此的说法和混合不同版本的MSVC的危险,但他们建议的workround仅与直接libpng用户相关(我通过boost GIL使用它。)

更新:转换后的项目文件确实运行良好(可能是一些小的明显修正)。到目前为止,这项工作的最大部分是创建64位版本;原始和转换的项目文件不包含任何此类配置,而Visual Studio将创建它们,有相当多的配置对话框编辑,以获得一致的文件夹/文件名等。