Existem dois possíveis compiladores C / C ++ disponíveis para o Solaris.
-
GNU C / C ++. Este é o compilador mais usado no Linux. É frequentemente referido como 'gcc'. É um compilador de primeira classe e está disponível tanto para o Solaris no SPARC quanto para o Solaris no X86. Uma vez instalado, este compilador é sempre executado usando o comando
gcc
. -
Solaris Studio. Este é o compilador da Oracle. Anteriormente era chamado Sun Studio. Alguns dizem que ele irá produzir código mais rápido que o gcc, especialmente no SPARC. Se você escolher este compilador, prepare-se para alguns avisos ao compilar o código de outra pessoa. Isso ocorre porque a maioria dos códigos hoje em dia foi desenvolvida usando o compilador gcc e o compilador gcc permite que o desenvolvedor C / C ++ consiga mais truques sujos sem sinalizá-los como tal. O compilador Solaris Studio, por outro lado, é muito mais falador sobre o que é visto como estilo de codificação ruim ou até mesmo não padrão. Apenas ignore tais avisos do compilador Solaris Studio. Há muitos anos, esse compilador custaria dinheiro. Hoje é um download gratuito da Oracle sob o "Contrato de Licença de Desenvolvedor OTN do Oracle Solaris Studio" que - embora não seja uma licença totalmente "gratuita" - não será limitando 99,9% dos usuários. Uma vez instalado este compilador é sempre executado usando o comando
cc
.
Na maioria dos casos, o compilador GNU C / C ++ é bom e é tudo que você precisa.
Solaris 10
GNU C / C ++
Já está instalado mas vive em /usr/sfw/bin
. O erro mais comum que as pessoas cometem é assumir que ele não está instalado, porque elas não podem encontrá-lo em seu PATH. Faça /usr/sfw/bin
parte do seu PATH depois de seus outros elementos no seu PATH.
Solaris Studio
Não é instalado por padrão. Siga as instruções encontradas aqui . Você não tem que ser root para instalá-lo.
Outro
O GNU make também é instalado por padrão no Solaris 10. Ele também vive em /usr/sfw/bin
e é chamado gmake
.
Solaris 11
GNU C / C ++
Não é instalado por padrão. De longe, o mais fácil é usar o IPS para instalá-lo usando os comandos abaixo (sendo root ou outro superusuário):
pkg install pkg://solaris/developer/build/gnu-make pkg install pkg://solaris/developer/build/make pkg install pkg://solaris/developer/gcc-45 pkg install pkg://solaris/system/header pkg install pkg://solaris/developer/build/autoconf pkg install pkg://solaris/developer/build/automake-110 pkg install pkg://solaris/developer/build/libtool # GNU libtool
Isso lhe dará todas as ferramentas que você normalmente precisa para criar vários pacotes de software de código aberto.
Observe que alguns dos pacotes têm um número de versão no próprio nome do pacote, por exemplo, %código%. Você pode encontrar até versões posteriores no repositório de pacotes, por exemplo, para o Solaris 11.2 Beta, você encontrará uma opção de GCC 4.5, 4.7 ou 4.8. O mesmo se aplica ao automake, que agora também está disponível na v1.11.
Solaris Studio
Não é instalado por padrão. Siga as instruções encontradas aqui . Você pode optar por instalar via IPS (o mais fácil eu acho, embora exija que você adicione outro repositório IPS, bem como um certificado ... tudo isso está documentado no link). Você também pode instalar através de um tarball, caso em que você não precisa ser superusuário.
Recomendações gerais ao criar pacotes de software no Solaris
Então você pegou um pacote de software da Internet e agora quer compilá-lo no Solaris? Aqui estão algumas recomendações gerais:
-
Sempre use
gcc-45
para descompactar, não use oGNU tar
do Solaris. Então, façatar
em vez degtar xf foo.tar
ou qualquer outra coisa. Sim, em 99,99% dos casos, o tar do Solaris funcionará muito bem para você, mas há algumas diferenças sutis entre os dois, por exemplo, se o arquivo tar contiver links suaves. -
Use
tar xf foo.tar
em vez do Solaris 'GNU make
Por exemplo, quando for solicitado:make
, em vez disso,make all
. -
Você geralmente terá menos problemas ao usar o GNU C / C ++ para construir em vez do Solaris Studio, porque provavelmente os makefiles e as opções de compilação, etc., foram testados apenas com o compilador GNU C / C ++.
-
Provavelmente mais para adicionar a esta lista. Mantenha os comentários próximos.