Tout d'abord, effacez la configuration actuelle de update-alternatives
pour gcc
et g++
:
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
Installer les Paquets
Il semble que à la fois gcc-4.3
et gcc-4.4
soient installés après l'installation de build-essential. Cependant, nous pouvons installer explicitement les paquets suivants:
sudo apt-get install gcc-4.3 gcc-4.4 g++-4.3 g++-4.4
Installer les Alternatives
Les liens symboliques cc
et c++
sont installés par défaut. Nous allons installer des liens symboliques pour gcc
et g++
, puis lier cc
et c++
respectivement à gcc
et g++
. (Notez que les options 10
, 20
et 30
sont les priorités pour chaque alternative, où un plus grand nombre est une priorité plus élevée.)
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.3 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.3 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.4 20
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
Configurer les Alternatives
La dernière étape consiste à configurer les commandes par défaut pour gcc
, g++
. Il est facile de basculer entre 4.3 et 4.4 de manière interactive:
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
Ou basculer en utilisant un script:
#!/bin/sh
if [ -z "$1" ]; then
echo "usage: $0 version" 1>&2
exit 1
fi
if [ ! -f "/usr/bin/gcc-$1" ] || [ ! -f "/usr/bin/g++-$1" ]; then
echo "pas de version gcc/g++ installée" 1>&2
exit 1
fi
update-alternatives --set gcc "/usr/bin/gcc-$1"
update-alternatives --set g++ "/usr/bin/g++-$1"