【问题标题】:Compiling for Mac/Linux on Windows在 Windows 上为 Mac/Linux 编译
【发布时间】:2011-06-26 10:58:34
【问题描述】:

显然,您不能真正在 Windows 上运行 Mac 或 Linux 应用程序,但您可以使用 MSVC++ 为这些平台编译二进制文件(显然插入额外的编译器和工具)?对于一个严肃的构建系统,您不希望每个平台都有一个构建服务器,因此拥有一个为所有目标平台编译的自动构建服务器似乎是一个相当合理的目标。

【问题讨论】:

  • 托管多个虚拟机的构建服务器现在是相当标准的方法。
  • 这点很好,我没有想到。但是你不能(合法地)虚拟化 Mac,对吗?
  • AFAIK 虚拟化 Mac 的唯一合法方法是将虚拟 Mac 托管在真实 Mac 上。因此,如果您不介意使用 Mac(带有大量 RAM)作为构建服务器,那么您可以通过这种方式获得一体机构建过程。
  • @John:我如何理解 Apple 的条款:您可以在 Mac 硬件上虚拟化 Mac OS,即如果 VM 在 Mac 硬件上运行(阅读:价格过高的白色普通硬件),您可以在 VM 中运行 Mac OS。它对你有帮助吗?可能不会,因为你仍然需要 Mac,为什么要虚拟化你已经拥有的东西 ;)
  • 假设您可以运行 Mac,然后在其上虚拟化 Windows/Linux,但我不认为 Mac Server 是明智的,他们不是正在逐步淘汰它吗?

标签: c++ compiler-construction build-process cross-platform cross-compiling


【解决方案1】:

Crosstool-NG 似乎是 Linux 应用程序的最佳选择;他们将其显示为标准配置之一。我不了解 Mac OS X; this question 表示这可能会很困难。

【讨论】:

    【解决方案2】:

    我愿意相信(注意我小心翼翼的话)GCC 可以在 Windows 上运行(任何相关形式的三元组 --mingw*)并针对另一个三元组。

    here 为非信徒提供了概念验证,您可以在其中找到构建本机 linux 二进制文件的 Win64 托管编译器。如果必要的库(如 CRT 和必要的 Mac 框架库)可以由该编译器构建/使用,我假设对于 mac 也可以这样做。

    【讨论】:

    • 我也愿意相信...正如我最初所说,技术上应该可能...
    【解决方案3】:

    如果您想使用C++ 构建应用程序,为什么不使用诺基亚的Qt。它是跨平台的。 http://qt.nokia.com/

    【讨论】:

    • Qt 是一个应用程序框架,即具有相关工具和代码样式以及首选类的库。 Qt 与否在这里无关紧要,更重要的是因为 Qt 不允许/不鼓励交叉编译。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多