是否可以在Linux上设置gcc交叉编译器以在32位架构上编译64位目标?

时间:2010-03-01 13:33:23

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

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

或者,您是否需要设置支持64位目标的交叉gcc工具链?这是否可以在32位机器上实现?

此致 约翰

4 个答案:

答案 0 :(得分:6)

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

构建gcc交叉工具链的好资源:

答案 1 :(得分:5)

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

答案 2 :(得分:3)

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

答案 3 :(得分:-1)

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