从Solaris sparc交叉编译到Solaris x86

问题描述

| 我是否可以从Solaris sparc服务器交叉编译Solaris x86库? 源代码主要是C ++(有些C)。我需要使用Solaris C ++编译器CC进行编译。我知道sparc和x86之间有些编译或链接标志是不同的。我已经进行了检查,以确保我使用的标志是通用的。 是否可以将在sparc中编译的库简单地复制到x86?还是在编译和链接期间需要应用特定标志? 谢谢,     

解决方法

Sun / Oracle Studio C ++编译器不支持交叉编译。您将需要使用另一个编译器,例如专门构建的gcc。 简单地复制库是行不通的-SPARC和x86是非常不同的指令集,两者之间没有二进制兼容性。     ,即使可以在x86的SPARC上交叉编译Solaris库,仅安装x86编译器和库看起来也要简单得多。这些库的相互依赖性可能非常复杂,以至于这样的项目可能无法正常工作。 是什么阻止您仅在x86 Solaris上下载和安装Studio软件?     ,Oracle Sun Studio C ++编译器(CC)具有--xarch选项,具有多种体系结构。有:sparc,amd64,pentium_pro和各种扩展名/修改。如果在单独的步骤中进行编译和链接,则应同时为编译器和链接器提供此标志。 您可以使用file命令验证目标体系结构。例如:
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 ++手册页     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...