【问题标题】:Cross compiling for SPARC on x86x86 上的 SPARC 交叉编译
【发布时间】:2014-06-03 18:30:48
【问题描述】:

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

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

【问题讨论】:

  • 您能否解释一下该问题中/not/ 的 Solaris/SPARC 需要哪些信息?此外,您可能应该针对 HP UX 发布一个单独的问题(并注意 HP UX 机器的体系结构)。

标签: solaris cross-compiling sparc


【解决方案1】:

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

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

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

  • 构建:您正在构建的机器
  • 主机:您正在为其构建的机器
  • 目标:以及 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 处理器为目标。如果您可以为您想要的目标构建编译器,那么交叉编译通常很容易做到。

【讨论】:

    猜你喜欢
    • 2011-09-02
    • 2020-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-24
    相关资源
    最近更新 更多