发布程序

时间:2015-06-05 16:52:46

标签: c++ windows c++11

所以我做了一个c ++控制台游戏。现在我想发布"发布"游戏。我想只提供.exe文件而不是代码。我该如何解决这个问题。我想确保它能在所有Windows设备上运行。 我使用了以下标题 -

  • 的iostream
  • WINDOWS.H
  • MMSYSTEM.H
  • CONIO.H
  • fstream的
  • 的ctime
  • 字符串
  • string.h中 *我使用了命名空间std *我使用代码:: blocks 13.12 with mingw

&安培;我使用了以下库 -

  • libwinmm.a

提前谢谢你 的修改 This is what happens in depends

1 个答案:

答案 0 :(得分:3)

安装应用程序的方法有很多种。您可以使用Inno之类的安装程序,也可以使用常规ZIP文件。有些程序甚至可以通过打包可执行文件中的所有资源来独立运行,但对于我对C ++的了解,这不是一个简单的选择。

我认为最基本的方法是使用静态库为不同的体系结构创建不同的构建,然后找到特定于该体系结构的任何其他DLL并将它们捆绑在一个文件夹中。对于大多数用途,支持x86 / x86-64 / ARM应该足够了。我知道LLVM / Clang和GCC应该对许多架构有广泛的支持,如果需要,你应该能够下载你使用的库的源代码,然后为每个架构编译它们您计划支持以及编译每个编译选项。

虚拟机对于此交叉编译和兼容性测试也很有帮助。

<强> tldr;以静态或动态(DLL)格式获取所需的所有库。检查它们是否是正确的架构(x86程序/代码不会在MIPS上运行,反之亦然)。获取所有资源。获取虚拟机,然后在其上测试您的程序。继续测试,直到所有依赖性问题都消失为止。

注意:当我这样做时,实际上我遇到了一些兼容性问题,MinGW-w64。只是一张纸条;你可能需要一些来自MinGW的DLL,或者,如果你正在使用Cygwin,当然你需要Cygwin DLL。我不太了解MSVC,但我认为如果您决定支持过时的Windows操作系统,即使他们在某种程度上需要DLL。