我知道您可以使用 -m32 标志在 64 位 Linux 上编译为 32 位目标,但是否也可以使用 -m64 标志在 32 位机器上编译为 64 位?
或者,您是否需要设置一个支持 64 位目标的跨 gcc 工具链,这在 32 位机器上是否可行?
问候,约翰
我知道您可以使用 -m32 标志在 64 位 Linux 上编译为 32 位目标,但是否也可以使用 -m64 标志在 32 位机器上编译为 64 位?
或者,您是否需要设置一个支持 64 位目标的跨 gcc 工具链,这在 32 位机器上是否可行?
问候,约翰
正如 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 支持它(它会支持它,除非它是古老的)。