Ubuntu下gcc/g++多版本共存和版本切换

Ubuntu系统使用的gcc版本随着发布版本的不同而不同,在编译android系统时不同的版本推荐用不同的gcc去编译,那么可不可以改变系统的gcc来适应android编译环境的需求呢?答案是可以的。 

先看看我们系统用的gcc和g++是什么版本 

gcc -v
可以获得的信息如下 :

gcc version 7.3.0
如果我们想使用gcc4.8怎么办?首先看看有没有安装gcc4.8:

ls /usr/bin/gcc*
结果只有 /usr/bin/gcc   /usr/bin/gcc-7 两个,那么我们需要安装 :

sudo apt-get install gcc-4.8  g++-4.8
安装好后输入以下指令:

 将各个版本gcc加入gcc候选中,设置优先级(优先级可以不同版本设置相同,后面再通过配置来指定使用的版本)

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 

再输入
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
接着输入: 

sudo update-alternatives --config gcc
会看到如下的选项,有 3 个候选项可用于替换 gcc (提供 /usr/bin/gcc)。 
 选择        路径                       优先级     状态
------------------------------------------------------------
* 0            /usr/bin/gcc-4.8      50           自动模式
 1             /usr/bin/gcc-4.8      50            手动模式
 2             /usr/bin/gcc-7         50            手动模式

要维持当前值[*]请按回车键,或者键入选择的编号:
要想用哪个gcc就输入编号吧。 
同样也要设置一下g++的 

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 50
如果想删除可选项的话可以键入以下指令:

sudo update-alternatives --remove gcc /usr/bin/gcc-4.8
再用gcc -v 来看一下版本是否改变了。

转载自https://my.oschina.net/u/2306127/blog/538139

### 如何在 Ubuntu 系统中切换 g++ 编译器的不同版本 为了在Ubuntu系统中切换`g++`编译器的不同版本,可以采用`update-alternatives`工具来进行配置。此工具允许不同版本的程序共存于同一系统内,并方便地进行切换。 #### 安装多个版本GCC G++ 如果尚未安装所需的GCCG++版本,则需先通过APT包管理器安装这些版本。例如,要安装特定版本gcc-11g++-11: ```bash sudo apt-get install gcc-11 g++-11 ``` 这一步骤确保了目标版本已经存在于系统之中[^1]。 #### 使用 `update-alternatives` 设置默认版本 一旦所需版本被成功安装,就可以利用`update-alternatives`命令来注册并选择默认使用的编译器版本。对于每一个想要管理其替代项的应用程序(这里指代的是`gcc``g++`),都需要执行如下操作: 针对`g++`: ```bash sudo update-alternatives --config g++ ``` 同样地,也应为`gcc`做相同处理: ```bash sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100 sudo update-alternatives --config gcc ``` 上述命令中的数字`100`代表优先级,在存在多个候选者的情况下决定了哪一个会被选作默认选项;较高的数值意味着更高的优先级。当运行带有`--config`参数的命令时,将会显示一个交互式的菜单供用户手动挑选希望作为默认的那个版本[^3]。 完成以上步骤之后,即实现了对`g++`以及相应`gcc`版本的成功切换。可以通过简单的验证命令确认当前正在使用的编译器版本是否符合预期: ```bash g++ --version gcc --version ``` 这样便可以在不同的项目之间灵活调整所依赖的具体编译器版本,从而解决由于环境变动引起的各种兼容性问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值