3

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

4

2 回答 2

3

我的评论的较长版本:

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

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

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

于 2013-06-05T20:14:51.493 回答
1

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

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

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

于 2013-06-06T02:53:58.210 回答