在其他计算机上运行 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的主要内容,如果未能解决你的问题,请参考以下文章