Como usar o GCC 4.7 no lugar de 4.6?

8

Então, estou trabalhando em um projeto e queria usar alguns recursos do C11 para o C. Para usar esses recursos, o GCC 4.7 é necessário, então fui ao synaptic e procurei o 4.7, e achei os pacotes gcc-4.7- base, então eu instalei [1].

Então agora que o gcc-4.7-base está instalado eu esperava poder usar 4.7, mas não, quando eu faço gcc --version ele ainda mostra 4.6.3 ainda mais, quando tento chamar diretamente 4.7 (via /usr/bin/gcc-4.7 ) ele não existe, embora exista um executável gcc-4.6 .

Como faço para "ativar" o GCC 4.7? Eu li aqui , você faz algumas coisas malucas com update-alternatives , mas não faz Não trabalhe para mim já que o executável gcc-4.7 não existe na minha máquina.

Notas: 1. Eu também vi o gcc-4.6-base, então eu imaginei que iria desinstalá-lo, mas a synaptic tentou remover todos os pacotes que eu tinha instalado e instalar um Java runtime, então por razões óbvias decidi não removê-lo.

    
por Larz Conwell 30.08.2012 / 04:37

2 respostas

13

O seguinte funcionou para mim.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.6 
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7 
sudo update-alternatives --config gcc

Fonte para referência

    
por Jinseop Kim 09.11.2012 / 07:35
0

O binário gcc está no pacote gcc-X.Y , não gcc-X.Y-base . O último é uma dependência de gcc-X.Y ou libstdc++ .

Basicamente, você deve simplesmente instalar o gcc-4.7 e depois chamá-lo como gcc-4.7 do seu makefile, ou usar install-alternatives para torná-lo o padrão.

    
por Dmitry Grigoryev 31.10.2015 / 23:48