【问题标题】:Is it possible to set up a gcc cross compiler on Linux to compile 64 bit targets on a 32 bit architecture?是否可以在 Linux 上设置 gcc 交叉编译器以在 32 位架构上编译 64 位目标?
【发布时间】:2011-01-22 07:14:52
【问题描述】:

我知道您可以使用 -m32 标志在 64 位 Linux 上编译为 32 位目标,但是否也可以使用 -m64 标志在 32 位机器上编译为 64 位?

或者,您是否需要设置一个支持 64 位目标的跨 gcc 工具链,这在 ​​32 位机器上是否可行?

问候, 约翰

【问题讨论】:

    标签: linux 32bit-64bit cross-compiling


    【解决方案1】:

    正如 MarkR 所说,运行 64 位 VM 并从那里构建会容易得多。否则,是的,您需要构建一个 gcc 跨工具链。

    构建 gcc 跨工具链的好资源:

    【讨论】:

      【解决方案2】:

      是的,它可能而且实际上非常简单。只需install gcc-multilib

      【讨论】:

      • 许多发行版虽然没有打包 32 位 gcc-multilib。
      【解决方案3】:

      是的,这应该是可能的。在 Mac OS X 上当然可以,Apple 的 gcc 工具链支持 x86、x86-64、ppc 和 ppc64,您可以在 32 位或 64 位开发机器上编译所有 4 个目标。

      【讨论】:

        【解决方案4】:

        您需要设置一个交叉编译器。不要打扰。只需运行 64 位 VM。你可以在 32 位主机操作系统上运行 64 位虚拟机,只要 CPU 支持它(它会支持它,除非它是古老的)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-07-16
          • 1970-01-01
          • 2019-08-12
          • 1970-01-01
          • 2011-09-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多