在x86上交叉编译SPARC

Ela*_*lad 2 solaris sparc cross-compiling

我已经看到了关于交叉编译器的回复我如何在Windows上交叉编译C代码,以便在Unix(Solaris/HPUX/Linux)上运行二进制文件?

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

bri*_*gge 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
Run Code Online (Sandbox Code Playgroud)

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

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