【问题标题】:Way Cross Compile C/C++ code to run on Windows, Linux, and Mac OS?Way Cross 编译 C/C++ 代码以在 Windows、Linux 和 Mac OS 上运行?
【发布时间】:2023-04-08 03:30:01
【问题描述】:

有没有办法获取我的 C++ 代码并交叉编译它以在 Windows、Mac OS 和 Linux 上运行?是否有工具可以做到这一点,还是必须通过终端/Cygwin 在每个操作系统上手动编译?

【问题讨论】:

  • 您可能想研究一下 autoconf 和 automake 或类似系统,以便更轻松地构建和正确进行操作系统级别的移植。

标签: c++ windows linux macos cross-compiling


【解决方案1】:

最简单的方法是使用 Mac OS X 机器和适用于 Linux 和 Windows 的 VM(使用例如 Parallels 或 VMware Fusion)。您可以将源代码放在与虚拟机共享的目录中,然后使用每个操作系统的本地工具进行编译。

【讨论】:

    【解决方案2】:

    您可以使用所谓的交叉编译器进行交叉编译。 Mingw 可以这样安装。我相信 MacOS 只使用 g++,所以你也可以为它制作一个交叉编译器。我自己从来没有做过。您可以在网上搜索路线。这是我从谷歌获得的顶部链接:

    http://linux.bytesex.org/cross-compiler.html

    【讨论】:

    • MacOS 确实使用了 g++ 的变体,但在工具链中有很多细微的差异,加上通用二进​​制支持,事情可能会变得丑陋。这并不意味着它不可能从另一个平台定位 MacOS,但这可能是一个真正令人头疼的问题。
    【解决方案3】:

    您应该检查您的代码并尽可能多地转换为 ANSI C++。将剩余的平台相关代码分解为单独的模块。这些模块可能需要针对其他平台重写,并让构建工具选择合适的模块。其余代码在其他平台上编译时应该很少出现问题。

    另外,请验证您的 GUI(如果您使用的是 GUI)是跨平台兼容的。否则转换到其他平台将是一团糟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-25
      • 2011-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多