SDL 图像为可执行文件中的 libpng 提供未定义的引用

SDL image gives undefined reference for libpng in executable

我正在使用 SDL2 图像加载 png 文件,它在 IDE(windows 下的代码块和 MinGW)中工作得很好。但是一旦我构建它并从可执行文件 运行 它给了我 libpng16-16.dll

中 "inflate validate" 的未定义引用

我浏览了网页,发现它可能是关于静态链接以及在 sdl 图像之前链接 zlib。

所以我尝试使用静态链接并检查 zlib 是否链接在 sdl 图像之后,确实如此。仍然出现错误。

任何想法可能是什么原因?我还在可执行方向复制了相关的dll,但这也没有帮助。

对于遇到类似问题的任何人,zlib.dl 必须包含在可执行文件本身的目录中。