1

我可以知道是否可以从 Solaris sparc 服务器交叉编译 Solaris x86 库吗?

源代码主要是 C++(一些 C)。我需要使用Solaris C++编译器CC来编译。我了解 sparc 和 x86 之间的一些编译或链接标志是不同的。我进行了检查以确保我使用的标志是通用的。

是否可以简单地将 sparc 中编译的库复制到 x86?或者我需要在编译和链接期间应用特定标志?

谢谢,

4

3 回答 3

1

Sun/Oracle Studio C++ 编译器不支持交叉编译。您将需要使用另一个编译器,例如专门构建的 gcc。

简单地复制库是行不通的——SPARC 和 x86 是非常不同的指令集,两者之间没有二进制兼容性。

于 2011-05-26T02:58:46.957 回答
0

即使您可以在 SPARC for x86 上交叉编译 Solaris 库,只安装 x86 编译器和库似乎要简单得多。这些库的相互依赖关系可能非常复杂,以至于这样的项目可能无法工作。

是什么阻止您在 x86 Solaris 上下载和安装 Studio 软件?

于 2011-05-28T21:59:52.293 回答
0

Oracle Sun Studio C++ 编译器 (CC) 具有适用于各种体系结构的--xarch选项。有:sparc、amd64、pentium_pro 和各种扩展/修改。如果您在单独的步骤中编译和链接,则应该为编译器和链接器提供此标志。

您可以使用文件命令验证目标架构;例如:

bash-3.2$ file /usr/bin/CC
/usr/bin/CC:    ELF 32-bit LSB executable 80386 Version 1 [FPU], dynamically linked, stripped

有关详细信息,请参阅 CC 手册: Sun Studio 11 C++ 手册页

于 2012-12-29T19:54:28.773 回答