2012-09-30 143 views
2

我刚刚使用SDL 1.2.15和SDL_image 1.2.12库在C++中编写了一个应用程序。它可以在我的计算机上运行,​​但每当我向朋友发送* .exe(当然包括SDL库中的所有* .dll文件和程序需要的图片)时,他们都会说没有任何反应(没有消息,没有错误等)。程序的内容并不重要,因为我写的每个SDL应用程序都会产生这样的问题。SDL应用程序不能在其他计算机上运行

我正在使用Windows XP上的Code :: Blocks 10.05(作为我的朋友)。很显然,我发布了发行版。

我发现我的程序不能在与Windows NT兼容的模式下运行并且性能较低。

+0

你有没有SDDL文件在同一目录作为您的EXE构建时? –

+0

不,它们与cpp文件位于同一目录中。 – uicus

+0

它不适用于所有朋友的个人电脑或只是其中的一部分? –

回答

2

如果应用程序似乎甚至没有启动,您可以使用DependencyWalker来检查是否满足所有的静态依赖关系。它会告诉你是否有任何缺失的DLL。如果所有依赖关系似乎都已满足(dll列表中没有错误),则可以使用主菜单中的Profile命令来分析应用程序的启动。

分析会告诉你动态依赖关系是否存在问题(通过COM加载DLL或者直接调用LoadLibrary)。

0

好吧,我刚刚发现我的错误。我确定了SDL_Surface的宽度和高度(使用SDL_SetVideoMode())以适合我的屏幕尺寸。当函数想要在其他维度的屏幕上执行相同操作时,它返回NULL,从而导致所有应用程序崩溃。 感谢您的关注。

相关问题