1

我正在尝试使用 SDL2_Image 加载 png 和 jpeg 文件。但是,我在获取正确的 dll 文件时遇到了一些问题。显然库在运行时需要这两个文件:

libjpeg-8.dll

libpng15-15.dll

这两个文件的可靠来源在哪里,或者我如何自己构建它们?我正在使用 Windows 7 并尝试制作 32 位应用程序。

网络上有很多这些.dll文件的副本,但我检查的每个文件似乎都有不同的大小,所以我认为它们不可靠 - 至少在有人告诉我是文件之前......

为了让这个工作我检查了http://www.libpng.org/pub/png/libpng.html并最终在这里:http://sourceforge.net/projects/libpng/files/。从那里我下载了最新的可用版本 - lpng1514.7z(+ 需要zlib125.zip)并设法构建它,生产libpng15.dll- 这几乎是我需要的。

作为一个肮脏的黑客,我尝试重命名文件,到目前为止它似乎正在工作,但我更喜欢有一个合适的 dll。

libjpeg

对于 jpeg,我遵循http://www.ijg.org/并最终下载了jpegsr8.zip,但我得到的源代码我不确定如何在 Windows 下构建(使用 Visual Studio)。

4

2 回答 2

2

gnuplot具有用于 Windows 的预构建二进制文件,其中包含这些 DLL,例如参见http://downloads.sourceforge.net/project/gnuplot/gnuplot/4.6.0/gp460win32.zip 。

或者

Gimp for Windows安装一大堆 DLL,包括libjpeg-8.dlllibpng15-15.dll查看http://downloads.sourceforge.net/project/gimp-win/GIMP%20%2B%20GTK%2B%20%28stable%20release%29/GIMP%202.8.2/gimp -2.8.2-setup-1.exe

于 2013-01-27T18:41:33.520 回答
1

libpng15.dll应该足够好,这意味着它是 1.5 版(15_15 必须是 1.5 的第 15 版)。

至于libjpeg,你可以自己重建它。有关使用免费工具在 Windows 上构建它的方法(它在 Visual Studio 之外完成),请参阅此问题。

您可能会尝试适应makefile您的 Visual Studio 版本,但使用 MinGW 可能更容易。

我会将我的一个项目转换到SDL2本周,如果您仍然坚持使用SDL2_Image.

编辑正如我告诉你的,我正在将自己的引擎移植到 SDL2。在构建 SDL_image 时,我注意到external文件夹中有一个文件VisualC夹。该external文件夹包含DLLSDL_Image 使用的所有文件:

31/01/2013  12:54 AM           200,192 libjpeg-8.dll
31/01/2013  12:54 AM           211,456 libpng15-15.dll
31/01/2013  12:54 AM           466,944 libtiff-5.dll
31/01/2013  12:54 AM           222,208 libwebp-2.dll
31/01/2013  12:54 AM             2,998 LICENSE.jpeg.txt
31/01/2013  12:54 AM             4,438 LICENSE.png.txt
31/01/2013  12:54 AM             1,294 LICENSE.tiff.txt
31/01/2013  12:54 AM             1,653 LICENSE.webp.txt
31/01/2013  12:54 AM             1,450 LICENSE.zlib.txt
31/01/2013  12:54 AM            90,624 zlib1.dll
              10 File(s)      1,203,257 bytes

所以不需要构建任何东西,只需从位于此处的 Mercurial 存储库同步:http: //hg.libsdl.org/SDL_image/

于 2013-01-27T20:23:27.790 回答