我用以下库创建了一个C++游戏:SDL2
和SDL2_MIXER
。我想将游戏提供给一些没有编程经验的 friend 。现在我真的不知道该怎么做。
我尝试过的是在Visual Studio中使用installshield限量版。将安装程序提供给一些 friend 后,他们所有人都遇到一个常见的问题-错误:缺少DLL MVCsomething。
给我的 friend 使用该应用程序的最简单方法是什么?由于c++已转换为汇编语言,因此每次更换机器时都必须再次编译源代码吗?
最佳答案
根据标记问题的方式,目前尚不清楚您是使用Visual Studio还是CodeBlocks来编译代码。
我猜想您是在Visual Studio中编译它的,因此他们收到一个错误消息,说它们没有适当的MSVCRT DLL,换句话说,您的代码所依赖的C运行时库已经被Microsoft编译了。编译器。指向他们下载与您在开发计算机上使用的Visual Studio版本匹配的Visual C++可再发行版本。例如,如果您有VS 2015,他们将需要安装Visual C++ Redistributable for Visual Studio 2015。
或者,您可以将所需的可再发行组件 bundle 到安装程序中,以确保自动安装(如果尚未安装)。我相信在InstallShield中,这是通过将VC++可再发行组件标记为“要求”来完成的。确保将其设置为先决条件。尽管从this question的答案来看,可能是InstallShield LE不支持此功能。如果是这种情况,我的建议是完全放弃InstallShield,并使用Inno Setup之类的东西来构建安装程序。虽然学习曲线适中,但却是有用的知识。话虽这么说,我不敢相信微软会提供一种机制来使用Visual Studio创建不支持CRT自动安装的安装程序。我没有跟上Visual Studio如今在安装向导方面所支持的内容。
不,不。假设您的 friend 都在运行Windows(而不是Linux),并且具有基于x86的计算机(如果他们正在运行Windows,则使用它们),您的代码将可以正常工作。唯一的麻烦是,如果要编译在计算机上运行的64位代码,但它们只有32位计算机。然后,您需要具有32位和64位版本。 (或单个32位版本,可同时在两个版本上运行。)
关于c++ - 将C++游戏部署到其他Windows计算机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35394765/