Allegro 4.2.3使用Visual C ++ 2010 Express创建静态/发布版本以在其他Windows计算机上运行

时间:2013-01-16 19:10:55

标签: c++ allegro

我已按照以下链接的说明成功安装了allegro 4.2.3,这一切都很有效:

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

我最终在上面链接的教程中偏离了我唯一的选择,就是我选择了Windows应用程序而不是控制台应用程序,如第3个图形示例所示(请注意在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

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

加里。

我对Matthews的答复第一个答案在下面:

嗨马修,

我一直在寻找谷歌,试着找出你提到的各种元素,如何与我的帖子中的链接教程进行比较,并逐步解释如何使用Allegro 4.2配置visual C ++ 2010 Express .3二进制。

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

以下是在线教程的链接,该教程解释了如何使用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.2版本的Windows的其他计算机上成功运行,这只是意味着选择版本构建选项,当然,在分发时将与.exe链接的任何文件保存在一起。

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

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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