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

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

【问题讨论】:

  • 将缺少的 DLL 添加到 .exe 所在的同一目录中。
  • 但是缺少很多dll。有没有办法一次包含它们?

标签: c++ allegro allegro5


【解决方案1】:

我的评论的加长版:

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-04-25
      • 1970-01-01
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-07
      相关资源
      最近更新 更多