首先删除gcc和g ++的当前更新替代设置:
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
安装套件
似乎在安装build-essential之后,同时安装了gcc-4.3和gcc-4.4。但是,我们可以显式安装以下软件包:
sudo apt-get install gcc-4.3 gcc-4.4 g++-4.3 g++-4.4
安装替代品
默认情况下会安装符号链接cc和c ++。我们将为gcc和g ++安装符号链接,然后分别将cc和c ++链接到gcc和g ++。(请注意10
,20
和30
选项是每个替代项的优先级。)
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++
配置替代方案
最后一步是为gcc,g ++配置默认命令。以交互方式在4.3和4.4之间切换很容易:
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
或使用脚本切换:
#!/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 "no such version gcc/g++ installed" 1>&2
exit 1
fi
update-alternatives --set gcc "/usr/bin/gcc-$1"
update-alternatives --set g++ "/usr/bin/g++-$1"