【问题标题】:Building programs on multiple platforms?在多个平台上构建程序?
【发布时间】:2015-07-03 22:28:39
【问题描述】:

我经常用 c++ 构建程序并在我自己的 PC 上编译它们。我目前正在使用操作系统win xp。

如果我想构建将在 linux、其他版本的 windows 等上运行的程序的副本,有没有办法在不购买这些操作系统的情况下做到这一点?例如,您可以让 Cygwin 在 linux 上运行 windows 应用程序。如果我安装了类似的东西,我可以在 linux 上编译 windows 产品并在另一台 windows 机器上使用它们(相同的位大小)吗?

或者,我必须每次都购买操作系统吗? 我正在寻找最具成本效益的方法来构建我需要的所有库等需要分配时间,而且我只使用一个操作系统。其他人如何解决这个问题?

谢谢

【问题讨论】:

  • 使用 VMWare 和适当的映像。它是免费提供的。
  • 大多数 Linux 发行版都是免费的。
  • 纠正一件事:cygwin 用于在 Windows 上运行 unix/linux 代码,Wine 用于在 Unix 上运行 Windows 应用程序。 Cygwin 需要将您的代码编译为二进制,Wine 不需要(它需要原始二进制)
  • @πάνταῥεῖ VMWare 不是免费的。 Windows 映像也不是免费的。只有 linux 镜像是免费的。
  • @Dani VMWare 可免费用于非商业用途(我在这里有安装),还有免费的 linux 映像(例如用于 Suse Linux、Ubuntu 等)。

标签: c++ linux windows


【解决方案1】:

您可以使用交叉编译器来创建二进制文件。交叉编译器使您能够在一个架构上为不同架构编译代码,例如 Windows 上 Android 智能手机的二进制文件。但是输出应该在相关平台上测试,所以你仍然需要“购买”操作系统,否则你无法进行测试。

如果您不想花钱,可以在虚拟机中重新安装评估版。 Microsoft 提供其操作系统的评估版,但您必须在它们过期后重新安装(这将在 30 到 90 天后,有时更长)。 虚拟机的优点是虚拟电脑的硬盘模拟成一堆文件存储在您的常规驱动器上。因此,您无需投资多个硬盘驱动器,只需为每个操作系统规划 20 - 60 GB。

【讨论】:

  • 快照将省去重新安装的麻烦:)
  • @Jite Microsoft 建议拍摄快照以使其评估版永远运行?
  • MS 实际上建议您这样做,所以我确信这不是什么大问题,操作系统附带的背景图像会告诉您如何执行此操作。 :)
  • 大家好.. 这是很好的建议,真的。我将在具有多个硬盘驱动器插槽的单独硬盘驱动器上查看一些评估版本。也许这是最好的前进方式。我不确定我理解的一件事是交叉编译器?这是如何运作的?没关系,linux 是免费的,我不需要大量的分区来做我想做的事。我可以构建库并安装在每个分区上。另外..将按照建议查看快照。会节省很多时间。如果有人有任何其他有用的建议,请告诉我。
  • 感谢玛格。它一直困扰着我一段时间:)
猜你喜欢
  • 2014-06-15
  • 1970-01-01
  • 2014-04-28
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
  • 1970-01-01
  • 2013-09-18
相关资源
最近更新 更多