6

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

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

问候,约翰

4

4 回答 4

6

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

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

于 2010-03-01T18:09:15.727 回答
5

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

于 2011-01-12T23:53:04.183 回答
3

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

于 2010-03-01T13:49:39.690 回答
-1

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

于 2010-03-01T14:03:47.413 回答