【问题标题】:Multiplatform C++ cross-compiler多平台 C++ 交叉编译器
【发布时间】:2011-08-24 05:40:33
【问题描述】:

如何为 C++ 库构建交叉编译器以在单个构建服务器上针对多个平台?

交叉编译器应该能够为(至少){Windows 7, Mac OS X, Ubuntu 11.04} × {32 bit, 64 bit} × {Debug, Release} 构建库。我不在乎整个从头开始构建是否需要永远或gcc 二进制文件是否为 1 GB。如果交叉编译器不能是单个可执行文件,我应该使用什么工作流程来编译(和重新编译)我的库?

主机是 Ubuntu 11.04。

【问题讨论】:

  • 如果您需要 Mac OS X,那么在单个服务器上完成所有这些操作的唯一可行解决方案是在两个 VM 中运行 Ubuntu 和 Windows 的 Mac OS X 服务器。
  • 假设我不需要 Mac OS X。基本上,没有办法让./build.sh 去做吗?我必须在虚拟机中手动完成?
  • 考虑到复杂性,为每个平台购买一台机器并在适当的平台上构建可能会更便宜(如果您考虑到您的薪水和设置此系统的额外时间)。
  • 你想构建一个编译器还是编译一个针对不同平台的程序?
  • 更新了问题,使其更加清晰。

标签: c++ architecture workflow cross-compiling


【解决方案1】:

OSDev Wiki 很好地介绍了构建交叉编译器。对于 Windows,您可以在发行版的存储库中使用 mingw 包

【讨论】:

    【解决方案2】:

    Windows 主机 + TeamCity + GCC (mingw) + Gnu Make(或补充构建脚本解决方案)+ MSVC8/9

    您可以让 teamcity 为您自动构建所有内容,GCC 将允许您在所有 DBG/REL、32/64 位、MacOS/Linux 排列中构建目标。 MSVC8/9 测试交叉编译器兼容性。

    【讨论】:

    • 持续集成不是真正的问题。这是我需要的编译器。否则,我已经有一个 buildbot 可以在本地机器上正常编译。
    猜你喜欢
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多