2012-08-07 54 views
0

我正在写一个简单的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..etc

+1

使用类似[Dependency Walker](http://www.dependencywalker.com/)来确定您的应用需要哪些DLL文件。 – 2012-08-07 23:13:25

+0

这是一个非常有用的程序,但显然这不是我的问题。所以你确实通过缩小了我遗漏了一个dll的可能性让我更接近了。 – 2012-08-07 23:37:19

+0

我希望你会把这个作为答案,我会有+1它 – 2012-08-08 00:41:58

回答

2

解决这类问题的一个好方法是使用Dependency Walker。这将向您显示可执行文件的所有依赖关系以及依赖关系的依赖关系。

如果您在目标平台上运行它,它将突出显示所需的但不可用的DLL,从而更容易看出为什么您的可执行文件无法运行。