1

我在 Visual Studio 中制作了 Allegro 游戏。它非常小。

但是我怎样才能得到一个完成的.exe?当我从项目的调试文件夹中复制 .exe 并尝试运行它时,它基本上说“抱歉 Allegro dll 都丢失了!安装它们并重试”,因为我已将其从其资源中删除。

如何将它捆绑在一起,以便将所需的所有内容打包到 .exe 中?

4

2 回答 2

2

为什么?

  1. 如果您想在一个文件中交付应用程序:

    • 在 Visual Studio 中创建一个 .msi 安装项目(或使用第三方工具),

    • 或者只是将文件(可执行文件和 DLL)压缩到存档中。大多数存档应用程序(如 WinZip 或 WinRar)还允许您创建一个可执行文件,该可执行文件将自行提取,而无需最终用户下载其他应用程序。

  2. 如果您出于某种奇怪的原因想要将所有内容都放在一个可执行文件中,那么您可以:

    • 将源代码移动到同一个 Visual Studio 项目中。但你真的不应该,因为它反对代码重用,它会导致与代码组织相关的额外问题,

    • 如果您使用 .NET,请创建一个自定义解决方案,其中将包含内部的程序集(例如在资源中)并在启动时提取它们。这在 .NET 中是可能的,因为仅在需要时才需要程序集,这意味着在某些情况下使用库的应用程序不需要此程序集即可启动。

于 2012-06-11T18:35:09.637 回答
2

您要求执行的操作称为“静态链接”。此处列出了这样做的优点和缺点。对于某些编译器,Allegro.cc 记录了如何在此页面上启用静态链接。

于 2012-06-11T18:59:14.083 回答