2

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

我正在 Windows XP 上开发 Code::Blocks 10.05(作为我的朋友)。显然我已经发送了发布版本。

我发现我的程序不能在与 Windows NT 及更低版本的兼容模式下运行。

4

2 回答 2

2

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

分析将显示动态依赖项是否存在任何问题(通过 COM 加载的 dll 或对 的显式调用LoadLibrary)。

于 2012-09-30T12:12:59.703 回答
0

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

于 2012-10-02T15:35:00.713 回答