Failed loading libpng16-16.dll:
。 我已经将所有正确的dll放在了正确的路径中,并且我可以使用SDL_Image的其他部分,但由于某种原因它无法加载libpng dll。我该如何解决这个问题?感谢任何帮助。Failed loading libpng16-16.dll:
。 我已经将所有正确的dll放在了正确的路径中,并且我可以使用SDL_Image的其他部分,但由于某种原因它无法加载libpng dll。我该如何解决这个问题?感谢任何帮助。看起来MinGW-w64(32位)中的libpng16-16.dll
依赖于zlib1.dll
。请尝试将zlib包含在依赖项中——将DLL文件包含在可执行文件运行的文件夹中。
zlib
是世界上最流行的库之一,而 PNG 使用 zlib
的压缩作为其格式的一部分。 - CinchBlue请查看我的文章 "SDL2:使用SDL_image加载图像":
如果您要从Visual Studio运行,请确保图像与main.cpp文件在同一个文件夹中;否则,如果直接从可执行文件运行,则图像应与其在同一个文件夹中。
不用说,我在这里写的关于图像的内容也适用于DLL。
非常专业的答案,但是对于那些因为使用pySDL2而遇到这个问题的人来说,可能是因为你的Python解释器不够好。对我来说,使用Windows商店安装的Python解释器3.10会出现这个问题。然而,当我从python.org切换到3.10时,所有的问题都得到了解决。
这个链接会向您展示如何设置SDL库/libpng16-16.dll,以便编译器.exe可以访问(在示例代码之前的最后一步)
您的程序属性页面 -> 构建事件 -> 后期构建事件
在我的情况下,我有
copy “C:\Users\MehdiB\Desktop\C Program\Library\SDL2-devel-2.0.4-VC\SDL2-2.0.4\lib\x86\SDL2.dll” “$(OutDir)SDL2.dll”;
copy “C:\Users\MehdiB\Desktop\C Program\Library\SDL2_image-devel-2.0.1-VC\SDL2_image-2.0.1\lib\x86\SDL2_image.dll” “$(OutDir)SDL2_image.dll”;
copy “C:\Users\MehdiB\Desktop\C Program\Library\dll\libjpeg-9.dll” “$(OutDir)libjpeg-9.dll”
这里是您可以获取此dll的地方
我刚刚用从https://github.com/OctaForge/OF-Windows/blob/master/bin_win32/zlib1.dll下载的文件替换了system32和SysWOW64中的zlib1.dll,效果很好。