4

我一直在 Windows 7 中使用 Libpng15,但我遇到了与

编译代码时未解决的外部 _png_set_longjmp_fn错误。我按照上述链接中的说明进行操作,虽然它确实编译没有任何错误,但我最终收到一条消息,说我需要 libpng12.dll 才能继续。

所以,我为 libpng12.dll 做了一些谷歌搜索……除了看起来是骗局的通用“查找 x.dll”网站外,什么都没有出现。

我已经尝试在他们的网站上阅读 libpng 源代码的安装文档,我看到的只是关于如何通过基于 Unix 的系统进行操作的说明。我试图在 Cygwin 中做到这一点,但没有运气,所以我有点卡在如何编译这个库上。

总而言之,我愿意进行编译或只使用 .dll,但问题是我找不到适用于版本 12 的工作.dll。

我尝试的另一件事是从这里下载二进制文件,它声称是“libpng12 for windows”。然后我将这些文件复制到我的 VC 编译器目录中,我认为该目录覆盖了 libpng15。尽管如此,当我静态链接它并在 VC 中运行我的程序时,它说我需要 .DLL 文件。libpng12.dll 文件实际上是一个.dll.a文件。老实说,我不确定链接这些(我尝试通过 VS 在链接器输入设置中键入“libpng12.dll.a”来静态链接它)。

如果我可以使用 libpng12 的 .dll 路由,我该怎么做?文件在哪里?如何在VS中链接它?

任何帮助将不胜感激,因为似乎真的没有很多关于这方面的信息。要么,要么我只是看起来不正确。

4

4 回答 4

5

查看 libpng 发行版的“项目”目录,并使用其中一个可视项目。

于 2012-09-05T20:40:18.240 回答
0

这个 youtube 可能会帮助您“使用 VS2010 构建 libpng 库”

https://www.youtube.com/watch?v=7XxVebzK3ac

于 2014-04-03T17:14:06.777 回答
0

如上所述,在 libpng 发行版的“projects”目录中查看

然后进行此处概述的调整 https://stackoverflow.com/a/38547948/293792

为了简单起见,我在此处记下(如那里所述)将两个 lib 值添加到

  • 配置 -> 链接器 -> 输入 -> 附加依赖项

这些值是ucrt.lib;vcruntime.lib

确保构建类型是 /MD

允许我构建这些旧版本,并在 Windows 10 VS2015 上修复该错误。

于 2016-07-24T01:46:15.490 回答
-1

此链接似乎为您提供了 1.2 的安装程序:

http://gnuwin32.sourceforge.net/packages/libpng.htm

它是 32 位的。不确定这是否对您有影响。

于 2013-04-12T00:59:53.903 回答