从PPA下载了g ++ 4.8但是无法将其设置为默认值?

我通过以下方式在Ubuntu 12.10上下载了g ++ 4.8:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install g++-4.8 

但当我这样做时:

 sudo update-alternatives --config g++ 

要切换g ++版本,它说:

 update-alternatives: error: no alternatives for g++. 

但是,如果我这样做:

 g++ --version 

它说:

 g++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

如何将我的g ++ 4.8安装设置为默认的g ++?

首先,您必须发现所有工具的4.8二进制文件在哪里:

 $ which gcc-4.8 /usr/bin/gcc-4.8 $ which g++-4.8 /usr/bin/g++-4.8 $ ls /usr/bin/*-4.8 /usr/bin/cpp-4.8 /usr/bin/x86_64-linux-gnu-cpp-4.8 /usr/bin/g++-4.8 /usr/bin/x86_64-linux-gnu-g++-4.8 /usr/bin/gcc-4.8 /usr/bin/x86_64-linux-gnu-gcc-4.8 /usr/bin/gcc-ar-4.8 /usr/bin/x86_64-linux-gnu-gcc-ar-4.8 /usr/bin/gcc-nm-4.8 /usr/bin/x86_64-linux-gnu-gcc-nm-4.8 /usr/bin/gcc-ranlib-4.8 /usr/bin/x86_64-linux-gnu-gcc-ranlib-4.8 /usr/bin/gcov-4.8 

所以,我们有了所有的二进制文件,现在让我们看一下这些二进制文件是否有一些符号链接:

 $ cd /usr/bin $ ls -l gcc* cpp g++ lrwxrwxrwx 1 root root 7 sep 18 14:02 cpp -> cpp-4.7 lrwxrwxrwx 1 root root 7 abr 22 2013 g++ -> g++-4.7 lrwxrwxrwx 1 root root 7 sep 18 14:02 gcc -> gcc-4.7 

我们可以看到,只有cppg++gcc有符号链接。 我们有两种选择。

符号链接

我们用我们的符号链接替换符号链接,首先删除实际值:

 sudo rm /usr/bin/cpp /usr/bin/gcc /usr/bin/g++ 

然后创建我们的

 sudo ln -s /usr/bin/cpp-4.8 /usr/bin/cpp sudo ln -s /usr/bin/gcc-4.8 /usr/bin/gcc sudo ln -s /usr/bin/g++-4.8 /usr/bin/g++ 

要将其还原,请使用相同的命令,但使用4.7或4.6

 sudo rm /usr/bin/cpp /usr/bin/gcc /usr/bin/g++ sudo ln -s /usr/bin/cpp-4.7 /usr/bin/cpp sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc sudo ln -s /usr/bin/g++-4.7 /usr/bin/g++ 

您需要让update-alternatives知道您有2个C ++编译器,为每个编译器创建一个记录,然后配置您要使用的编译器。 这是通过以下方式完成的:

 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6.3 60 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 40 sudo update-alternatives --config g++ 

从现在开始,切换编译器时唯一需要的是这个命令:

 sudo update-alternatives --config g++ 

有关详细信息,请参阅man update-alternatives

来源: 如何使用gcc的多个实例?

这是如何创建和管理主和从(gcc和g ++)替代品的伟大描述和逐步说明。

不久,就是这样

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