在x86上交叉编译SPARC

时间:2010-03-08 16:56:27

标签: solaris cross-compiling sparc

我见过关于交叉编译器的回复How do I cross-compile C code on Windows for a binary to also be run on Unix (Solaris/HPUX/Linux)?

我想知道如何在x86机器上为SPARC编译? 我在哪里可以找到一个好的交叉编译器?我还需要为HP OS编译。

1 个答案:

答案 0 :(得分:6)

gcc完全有能力做到这一点。 Sun的编译器可能有能力,但我对gcc更熟悉。首先,您应该熟悉构建gcc,并决定是否只需要C编译器,或者是否需要C ++或其他语言。

为您所在的主机构建gcc后,您可以重建gcc以包含要为其交叉编译的目标计算机的目标。

构建交叉编译器时,必须正确的三件事是构建,主机和目标。

  • 构建:您正在构建的机器
  • host:您正在构建的计算机
  • target:GCC将为
  • 生成代码的机器

对于交叉编译器,构建和主机将是相同的,目标将是不同的。例如,以下是如何告诉编译器构建一个编译器,以便从Solaris x86交叉编译到Solaris Sparc:

./configure --build=x86_64-sun-solaris2.10 --host=x86_64-sun-solaris2.10 --target=sparc-sun-solaris2.10

然后,您可以为需要交叉编译的每个目标构建其他编译器。

在运行两者的平台上编译32位和64位可执行文件非常简单。还有别的,会有点棘手。 Mac上的gcc是由几个目标构建的,而Apple已经很容易为多个平台创建二进制文件。所有iPhone应用程序都在x86上编译,并以ARM处理器为目标。如果你可以为你想要的目标构建编译器,那么交叉编译通常很容易做到。