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

1930

被折叠的 条评论
为什么被折叠?



