我已经看到关于交叉编译器的回复如何在 Windows 上交叉编译 C 代码,以便二进制文件也可以在 Unix (Solaris/HPUX/Linux) 上运行? https://stackoverflow.com/questions/579695/how-do-i-cross-compile-c-code-on-windows-for-a-binary-to-also-be-run-on-unix-sol
我想知道 Y 如何在 x86 机器上为 SPARC 进行编译?
哪里可以找到好的交叉编译器?我还需要针对 HP 操作系统进行编译。
gcc完全有能力做到这一点。 Sun的编译器可能有能力,但我更熟悉gcc。首先,您应该熟悉构建 gcc,并决定是否只需要 C 编译器,还是需要 C++ 或其他语言。
一旦您为所在的主机构建了 gcc,您就可以重建 gcc 以包含您想要交叉编译的目标机器的目标。
构建交叉编译器时,必须正确的三件事是构建、主机和目标。
- build:您正在构建的机器
- 主机:您正在构建的机器
- 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 处理器为目标。如果您可以获得为您想要的目标构建的编译器,那么交叉编译通常相当容易完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)