1

我已按照以下链接中的说明成功安装了 allegro 4.2.3,一切正常:

http://blog.hamidnazari.com/2010/07/21/installing-allegro-on-visual-cpp-express-2010/

关于上面链接的教程,我最终偏离的唯一一件事是,我选择了 Windows 应用程序,而不是第三个图形示例中所示的控制台应用程序(注意在 Win32 控制台应用程序或 Win32 项目之间进行选择,如图所示第二个图形示例,到目前为止我发现没有明显的区别)。

选择第三个图形示例中所示的 Windows 应用程序,至少对我来说,只是导致不需要在我所有的 Allegro 程序中包含以下行:#define USE_CONSOLE。

请关于上面链接的教程和这篇文章的标题,有人可以通过回答以下问题来帮助我:

问题开始: 如何让我的 Allegro 游戏在其他使用 Windows 的计算机上运行,​​而其他计算机不需要安装 Visual C++ 2010 Express 和/或 Allegro 4.2.3 的预构建二进制版本(链接到在上述教程中)还需要在其他计算机上并在 Visual C++ 2010 Express 中链接/配置,也在上述教程中进行了描述。 问题结束

顺便说一句:对于任何有兴趣制作标准 C++ 程序(即不使用 Allegro 或其他各种库)的人来说,通过拥有一个完全独立的 .exe 文件(使用 Visual C++ 2010 Express 编译/构建)确实可以运行,这是一个很好的链接其他使用windows的电脑,如下:

http://www.youtube.com/watch?v=AvrjQtFBJvk

感谢您花时间阅读这篇文章,我非常希望有人能够提供帮助。

加里。

我对马修斯第一个答案的回复如下:

嗨,马修,

我一直在谷歌上寻找你提到的各种元素,如何与我的帖子中的链接教程进行比较,该教程逐步解释了如何使用 Allegro 4.2.3 二进制文件配置 Visual C++ 2010 Express .

我想与您核实的第一件事是,Allegro.cc 站点上 4.4.2 部分和 4.2.3 部分中的所有二进制文件是否本质上都是预构建的二进制文件,因此最终将版本 4.4.2 配置为使用 VC++ 2010 原则上应该类似于配置 4.2.3 版(或者可能不是?)我已经下载了 4.4.2 版,可以看到确实有相同的 3 个文件夹,bin、include 和 lib。

这是在线教程的链接,该教程解释了如何使用 Visual C++ 2010 Express 逐步成功配置 Allegro 4.2.3:

http://blog.hamidnazari.com/2010/07/21/installing-allegro-on-visual-cpp-express-2010/

通过上述教程中的步骤,我注意到您在下面列出的初始答案中的其他元素。(请注意,虽然本教程确实适用于版本 4.2.3,但在构建时仅选择发布选项而不是调试不会导致 .exe 文件在其他 Windows 计算机上工作(尽管发布文件夹中的 .exe 文件仍然在我的主计算机上运行),所以我想除了选择发布之外还有其他事情需要做。

1) allegro-4.4.2-monolith-static-mt.lib --- 这是否需要添加到链接器下拉列表中输入部分的附加依赖项中以进行调试和发布。(这与这部分配置的教程相比如何,即是否有任何其他附加依赖项)

2) 静态链接时链接到所有各种 Win32 库--- 我不知道如何链接到这些库。我对此有点困惑。

3)#define ALLEGRO_STATICLINK ---这是否意味着“ALLEGRO_STATICLINK”需要添加到 C/C++ 下拉列表中的预处理器部分,因为我读到其他人试图让它在 4.4.2 中正常工作

总结一下:考虑到到目前为止已经说过的所有内容,我想再次问我最初的问题,我将在以下两个部分中提出:

第 1 部分)在线教程需要如何添加/修改静态构建才能在其他计算机上使用 4.2.3 版本的 Windows 成功运行,这是否意味着选择发布构建选项,当然还有与分发时的.exe。

第 2 部分)如果使用 4.4.2 版本,在线教程需要如何添加/修改静态和动态构建才能成功运行。

第 1 部分或第 2 部分的教程类型答案对我和许多其他新手来说都很棒

非常感谢您阅读这篇文章。

4

2 回答 2

2

Allegro 4.2 已经过时了。您应该至少使用 4.4。它与 4.2(相同的 API)源代码兼容,并且仍然不时接收更新。Allegro 5 是现在所有活跃开发的地方,但它有一个全新的 API。我仍然强烈建议你看看它。

无论如何,要回答这个问题,是的,您需要静态链接。从这里获取二进制文件:

allegro-4.4.2-monolith-static-mt.lib文件链接,并确保使用 /MT 开关(而不是 /MD)进行编译。-static方面意味着不需要 Allegro DLL 。该-mt标志表示不需要 C 运行时。

静态链接时,您还需要链接到所有各种 Win32 库。另外,请务必#define ALLEGRO_STATICLINK在您的项目设置中。

于 2013-01-17T05:18:59.617 回答
0

已经有一段时间了,但如果我没记错的话,有一个简单的方法可以做到这一点,尽管它可能不是最好的方法。只需向朋友发送一个小演示就很好。即使您只是在调试模式下构建,您也可以将游戏发送给其他人。将 allegro-4.2.2-monolith-md.lib 文件(其名称类似,但可能不完全如此)复制/粘贴到项目的 Debug 文件夹(.exe 旁边)。您可能还需要 MSVCR1000.lib 文件(或类似的文件。不记得确切的名称),但您必须在网上的某个地方找到它。

免责声明:我从未使用过如此完全旧版本的 Allegro,因此该解决方案可能并不完全适用。但是我在版本 5 和 5.6 之后使用 Allegro,所以我知道它适用于较新的版本。你应该只使用更新的版本,真的。

于 2013-06-29T14:33:17.977 回答