编译以发布

Compile for release

本文关键字:编译      更新时间:2023-10-16

我正在编写一个简单的pong应用程序,虽然它还没有完成,但我会撒谎,以便能够弄清楚如何编译它以供发布。我没有收到任何错误,并且我链接到SDL,SDLmain,SDL_image,SDL_ttf但是当其他计算机上的人们尝试运行它(调试和发布)时,它会关闭,就好像它丢失了文件一样。我把 SDL.dll,SDL_image.dll、SDL-ttf.dll 连同我在程序中使用的图像一起放在那里,它在我的计算机上工作正常,所以说我缺少一个文件......但那会是什么?

编辑:

最后,30分钟后我想通了:当包含SDL_image.dll时,您还必须包含SDL_image.dll的依赖项:zlib1.dll,libjjpeg-x.dll,libpng。等

解决此类问题(如果与DLL相关)的一个好方法是使用Dependency Walker。这将显示可执行文件的所有依赖项以及依赖项的依赖项。

如果在目标平台上运行它,它将突出显示必需但不可用的 DLL,从而更容易了解可执行文件无法运行的原因。