昨天刚全新在虚拟机上安装了Ubuntu 14.04,在其中安装的gcc版本是4.8.4。而我需要编译C++程序,在安装之后,我立刻就通过命令:
- 1 @H_403_6@
- 1 @H_403_6@sudo apt-get install build-essential
安装了make、g++等。build-essentail是一整套开发工具。安装后,可以使用命令 g++ –version查看安装是否成功。
诚然,g++4.8.4能帮助我解决好的问题,但是我正在学习C++11的新特性,毕竟g++4.9.2对C++11的支持更加完善一些,所以我决定升级g++版本。又因为gcc是一整套编译工具的组合,g++是其中的一部分,所以,既然决定升级了,就顺带把整个gcc都更新。
下面讲解将Ubuntu14.04中的gcc/g++升级到版本4.9.2的方法。
1 安装4.9版本的gcc/g++
在Terminal中输入下面的命令,在加上几分钟的等待,即可完成安装:
- 1
- 2
- 3 @H_403_6@$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test $ sudo apt-get update $ sudo apt-get install gcc-4.9 g++-4.9
安装完成后,你会发现如果直接使用gcc/g++命令,默认采用的版本仍然是原来的4.8.4版本。你如果要使用新版的gcc/g++,必须采用命令gcc-4.9/g++-4.9。下面讲解如何将版本4.9设为默认。
2 将版本为4.9的gcc/g++设置为默认
采用以下命令:
就可将gcc/g++的默认版本设为4.9.2。update-alternatives是一个管理工具,能够管理同一个软件的不同版本。上命令中,参数slave保证gcc和g++版本的联动调整。而60是表示的优先级,你可以选用任何你喜欢的大于0的整数。那么,此时你再利用gcc命令查看当前的版本,就会发现已经是新版本了,如下图:
但是,接下来的一个问题是,如果你还想继续使用原来的版本,怎么办?况且原来版本并没有删除。同样还是利用update-alternatives,及如下的命令:
上面的优先级设为50,所有当前默认为4.9.2版本。你可以使用命令
来查看被update-alternatives管理的gcc不同版本,这同样可以针对g++。
既然gcc/g++的不同版本已被update-alternatives管理,那么如何在这两个不同的gcc/g++版本间进行切换使用呢?
3 gcc/g++不同版本的切换使用
采用如下图所示的命令,接着再输入对应的序号,就可以在不同的版本间进行切换: