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

C++ Allegro 4.2.3使用Visual C+创建静态/发布版本+;2010 Express将在其他Windows计算机上运行,c++,allegro,C++,Allegro,我已按照以下链接中的说明成功安装了allegro 4.2.3,所有功能都非常出色: 在上面链接的教程中,我唯一偏离的地方是我选择了Windows应用程序,而不是控制台应用程序,如第3个图形示例所示(注意,如第二个图形示例所示,在Win32控制台应用程序或Win32项目之间进行选择,我发现到目前为止没有明显的区别) 选择第三个图形示例中所示的Windows应用程序,至少对我来说,只是不需要在所有Allegro程序中包含以下行:#define USE_CONSOLE 关于上面链接的教程和这篇文章的

我已按照以下链接中的说明成功安装了allegro 4.2.3,所有功能都非常出色:

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

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

关于上面链接的教程和这篇文章的标题,有人能帮我回答以下问题吗

问题的开头: 如何让我的快板游戏在使用Windows的其他计算机上工作,而不需要安装其他的计算机,要求安装Visual C++ 2010 Express,和/或预构建的Alelgo4.2.3二进制版本(链接到上面的教程)还需要在其他计算机上连接和/配置Visual C++ 2010 Express,也在上面的教程中描述。 问题结束

顺便说一下,对于任何有兴趣制作标准C++程序(即不使用AlelGRO或其他各种库)的人来说,有一个完全独立的.exe文件(使用Visual C++ 2010 Express编译/构建),它可以使用Windows在其他计算机上运行,这是一个很大的链接,如下:

谢谢你花时间阅读这篇文章,我非常希望有人能帮助我

加里

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

嗨,马修

我一直在浏览谷歌,试图找出你提到的各种元素,与我的文章中的链接教程相比较,这一步一步说明如何用Alelgo4.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:

逐步地成功地配置Alelgo4.2.3

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

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

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

3)#定义ALLEGRO_STATICLINK——这是否意味着“ALLEGRO_STATICLINK”需要添加到C/C++下拉列表中的预处理器部分,就像我读到其他人试图让它在4.4.2中运行一样

总结:考虑到目前为止所说的一切,我想再次提出我的初始问题,我将分以下两部分提出:

第1部分)在线教程需要如何添加/修改静态版本才能在使用windows 4.2.3版的其他计算机上成功运行,这是否意味着选择发布版本选项,当然,在分发时将与.exe链接的所有文件放在一起

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

第1部分或第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库。另外,请确保在项目设置中定义ALLEGRO\u STATICLINK。

已经有一段时间了,但是如果我没记错的话,有一种简单的方法可以做到这一点,尽管这可能不是最好的方法。只需向朋友发送一个小演示就可以了。即使只是在调试模式下构建,也可以发送