在其他计算机上运行 Allegro 5

Posted

技术标签:

【中文标题】在其他计算机上运行 Allegro 5【英文标题】:Running Allegro 5 on other computers 【发布时间】:2013-06-05 20:09:48 【问题描述】:

我做了一个简单的快板游戏。但是当我在另一台计算机上打开 *.exe 文件时,它说有很多丢失的 .dll 文件。如何让我的游戏在未安装 Visual Studio 和 Allegro 5 库的其他计算机上运行?

【问题讨论】:

将缺少的 DLL 添加到 .exe 所在的同一目录中。 但是缺少很多dll。有没有办法一次包含它们? 【参考方案1】:

我的评论的加长版:

当您创建应用程序时,它会链接到您计算机上存在的某些 DLL。当您分发游戏时,您需要将 DLL 与您的 .exe 一起压缩,或者使用包创建器将它们打包并发布。

查找您的 exe 所依赖的 DLL 的最佳方法是使用像 Dependency Walker 这样的工具。您不需要完全复制您的 EXE 所依赖的所有 DLL。只有您看到的那些位于非标准路径中,例如不在 C:\Windows\System32 中的路径。话虽如此,您可能需要从 C:\Windows\System32 复制一些内容。您需要自己找出答案。

要将它们全部打包为一个设置,您可以使用像 InnoSetup 或 NSIS 这样的包创建器。否则,请创建一个为您压缩所有内容的脚本。 AFAIK,没有简单的方法来获取其他人系统中缺少的所有 DLL。您需要通过反复试验来找出它们。不幸的是,这很痛苦。

【讨论】:

【参考方案2】:

如果您下载了预构建的二进制文件,请链接到 Allegro 的静态、整体式 mt 构建。您需要调整编译器设置以匹配 (/MT) 并将 ALLEGRO_STATICLINK 添加到您的预处理器定义列表中。

如果你这样做了,那么你只需要分发你的可执行文件和你的资源(图像、声音等)。

请注意,您应该至少有两个配置:调试和发布。在处理您的应用程序时,您应该使用调试配置(链接到常规调试 Allegro 库)。分发应用程序时,应使用 Release 配置。

【讨论】:

以上是关于在其他计算机上运行 Allegro 5的主要内容,如果未能解决你的问题,请参考以下文章

vb.net 应用程序不能在其他计算机上运行?

SDL 应用程序无法在其他计算机上运行

防止程序在其他计算机上运行。

如何创建可在其他计算机上运行的可再发行 DLL

Openoffice BASIC:分配给按钮的宏在其他计算机上不起作用。

如何使我的 Python 程序提供的功能可用于在同一台或其他计算机上运行的以其他语言编写的程序?