【发布时间】:2011-01-22 07:14:52
【问题描述】:
我知道您可以使用 -m32 标志在 64 位 Linux 上编译为 32 位目标,但是否也可以使用 -m64 标志在 32 位机器上编译为 64 位?
或者,您是否需要设置一个支持 64 位目标的跨 gcc 工具链,这在 32 位机器上是否可行?
问候, 约翰
【问题讨论】:
标签: linux 32bit-64bit cross-compiling
我知道您可以使用 -m32 标志在 64 位 Linux 上编译为 32 位目标,但是否也可以使用 -m64 标志在 32 位机器上编译为 64 位?
或者,您是否需要设置一个支持 64 位目标的跨 gcc 工具链,这在 32 位机器上是否可行?
问候, 约翰
【问题讨论】:
标签: linux 32bit-64bit cross-compiling
正如 MarkR 所说,运行 64 位 VM 并从那里构建会容易得多。否则,是的,您需要构建一个 gcc 跨工具链。
构建 gcc 跨工具链的好资源:
【讨论】:
是的,它可能而且实际上非常简单。只需install gcc-multilib。
【讨论】:
是的,这应该是可能的。在 Mac OS X 上当然可以,Apple 的 gcc 工具链支持 x86、x86-64、ppc 和 ppc64,您可以在 32 位或 64 位开发机器上编译所有 4 个目标。
【讨论】:
您需要设置一个交叉编译器。不要打扰。只需运行 64 位 VM。你可以在 32 位主机操作系统上运行 64 位虚拟机,只要 CPU 支持它(它会支持它,除非它是古老的)。
【讨论】: