是否可以在Linux上设置gcc交叉编译器,以便在32位体系结构上编译64位目标?

是否可以在Linux上设置gcc交叉编译器,以便在32位体系结构上编译64位目标?,linux,32bit-64bit,cross-compiling,Linux,32bit 64bit,Cross Compiling,我知道您可以使用-m32标志在64位Linux上编译为32位目标,但是也可以使用-m64标志在32位机器上编译为64位目标吗 或者,您是否需要设置一个支持64位目标的跨gcc工具链,并且这在32位机器上是否可行 问候,, 约翰是的,这应该是可能的。这在Mac OS X上当然是可能的,苹果的gcc工具链支持x86、x86-64、ppc和ppc64,您可以从32位或64位的开发机器上编译所有4个目标。您需要设置一个交叉编译器。不用麻烦了。只需运行64位虚拟机即可。如果CPU支持,您可以在32位主机操

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

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

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

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

正如MarkR所说,运行64位虚拟机并在此基础上构建要容易得多。否则,您将需要构建gcc交叉工具链

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


    • 是的,这是可能的,实际上非常简单。只需
      安装gcc multilib

      不过,许多发行版并不打包32位gcc多库。