gcc/g++ 多版本间切换
1. 查看 gcc/g++ 版本
1 2 3 4 5
| gcc -v g++ -v
gcc --version g++ --version
|
1 2
| ls /usr/bin/gcc* ls /usr/bin/g++*
|
2.安装gcc
1获取源码压缩包
1 2 3 4
| wget https://repo.huaweicloud.com/gnu/gcc/gcc-7.3.0/gcc-7.3.0.tar.gz tar -zxvf gcc-7.3.0.tar.gz cd gcc-7.3.0 ./contrib/download_prerequisites
|
如果执行上述命令报错,需要执行如下命令在“gcc-7.3.0/”文件夹下下载依赖包:
1 2 3 4
| wget http://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 wget http://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 wget http://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz wget http://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2
|
下载好上述依赖包后,执行以下命令,检查是否下载完成:
1
| ./contrib/download_prerequisites 执行配置、编译和安装命令:
|
执行配置、编译和安装命令:
1 2 3
| ./configure --enable-languages=c,c++ --disable-multilib --with-system-zlib --prefix=/usr/local/gcc7.3.0 make -j192 make install
|
2安装gcc时候会占用大量临时空间,所以先执行下面的命令清空“/tmp”目录。
3. 手动切换
- 先将需要的版本添加到 update-alternatives 中,其中/root/neu/data1/envs请替换成你自己的实际安装目录
1 2 3 4 5 6
| sudo update-alternatives --install /usr/local/bin/gcc gcc /usr/local/gcc7.3.0/bin/gcc 40 sudo update-alternatives --install /usr/local/bin/gcc gcc /root/neu/data1/envs/gcc10.3.0/bin/gcc 50
sudo update-alternatives --install /usr/local/bin/g++ g++ /usr/local/gcc7.3.0/bin/g++ 40 sudo update-alternatives --install /usr/local/bin/g++ g++ /root/neu/data1/envs/gcc10.3.0/bin/g++ 50
|
若想删除,执行命令:
1 2
| sudo update-alternatives --remove gcc /usr/local/gcc7.3.0/bin/gcc sudo update-alternatives --remove g++ /usr/local/gcc7.3.0/bin/g++
|
1 2
| sudo update-alternatives --config gcc sudo update-alternatives --config g++
|
4.查看gcc的真实路径
1
| ls -l /usr/local/bin/gcc
|
/usr/bin/gcc -> /etc/alternatives/gcc
1
| ls -l /etc/alternatives/gcc
|
/etc/alternatives/gcc -> /usr/local/gcc7.3.0/bin/gcc
手动修复符号链接
1
| sudo ln -sf /usr/local/gcc7.3.0/bin/gcc /usr/bin/gcc
|
© 2025 CwbyWifsy 保留所有权利