ubuntu的gcc、g++安装及切换

本文讲述了在Linux环境下遇到gcc/g++版本过高或不一致问题时的解决方案,包括查看版本、安装特定版本、调整gcc/g++优先级以及使用命令行管理不同版本的过程。

gcc、g++的查看

在linux中编译一些代码时,会遇到gcc 和g++版本过高,或者版本不一致的问题,因此会将gcc或g++降级。

比如我配置环境遇到mmcv-full安装报错,因为

RuntimeError: The current installed version of g++ (12.3.0) is greater than the maximum required version by CUDA 11.3 (10.0.0). Please make sure to use an adequate version of g++ (>=5.0.0, <=10.0.0).

这个时候就需要安装不同版本的gcc,g++

  1. 查看当前gcc g++版本

gcc --version
g++ --version

 2. 查看目前存在的gcc、g++版本

ls /usr/bin/gcc*
ls /usr/bin/g++*

以从gcc - 12.3或g++ - 12.3降级到4.8版本为例,具体方法如下:

(base) robot@robot:~$ ls /usr/bin/gcc*
/usr/bin/gcc     /usr/bin/gcc-ar     /usr/bin/gcc-nm     /usr/bin/gcc-ranlib
/usr/bin/gcc-11  /usr/bin/gcc-ar-11  /usr/bin/gcc-nm-11  /usr/bin/gcc-ranlib-11
/usr/bin/gcc-12  /usr/bin/gcc-ar-12  /usr/bin/gcc-nm-12  /usr/bin/gcc-ranlib-12

gcc、g++的安装

由于源可能缺少旧版本的gcc、g++比如gcc6,gcc5,需要首先导入指定版本的清华源,然后在update更新源,这样就可以输入以下命令安装

如果版本中没有4.8版本,则安装:sudo apt-get install gcc-4.8

更改gcc、g++优先级,重新进行软链接

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/g++-4.8 100

(注意次序不要颠倒,100代表优先级,数字越大优先级越高,设置为100一般就超过默认的gccg++了)

检查当前gcc、g++版本验证是否切换成功

gcc --version

g++ --version

(base) robot@robot:~$ gcc --version
gcc (Ubuntu 4.8.0 ubuntu2) 4.8.0
Copyright (C) 2017 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.

切换成功

补充知识:

(*)要列出特定文件类型或扩展名,请使用后跟文件扩展名的通配符。例如,要显示具有.jpg扩展名的所有文件,请运行命令:

$ ls *.jpg

同样,要列出所有 PDF 文件,请运行以下命令:

$ ls *.pdf

这里的命令相当于列出该文件夹下所有名为gcc和g++的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值