Linux下载高版本的gcc与g++并编译,升级g++,演示安装g++11.2以及gdb10.2

1. 引言

系统: ubuntu 1804

点我进入清华源-GCC链接:
https://mirror.tuna.tsinghua.edu.cn/gnu/gcc/
Linux下载高版本的gcc与g++并编译,升级g++,演示安装g++11.2以及gdb10.2_第1张图片

2. 下载编译指定版本gcc

2.1 下载一个低版本g++

  • 为了保证后续安装gcc能编译通过,且安装g++同时也会安装gcc!
sudo apt-get install g++

2.2 下载指定gcc

  下载从清华源所需要的gcc版本,作者这边选择的是11.2.0此处版本不同,后续的指令文件名需要选择自己的版本文件名。

mkdir gcc & cd gcc
wget  https://mirror.tuna.tsinghua.edu.cn/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
  • 解压并且进入到当前目录
tar -zxvf gcc-11.2.0.tar.gz -C ./
cd gcc-11.2.0/
  • 自动下载所需依赖包
./contrib/download_prerequisites

附上该步骤成功安装四个依赖截图。
Linux下载高版本的gcc与g++并编译,升级g++,演示安装g++11.2以及gdb10.2_第2张图片

  • 创建一个目录/home/wjl/work/gcc112, 保存gcc11.2生成的Makefile文件。
mkdir -p /home/wjl/work/gcc112
./configure --prefix=/home/wjl/work/gcc112  --enable-bootstrap --enable-languages=c,c++ --enable-checking=release --disable-multilib

附上该步骤成功生成Makefile文件图。
Linux下载高版本的gcc与g++并编译,升级g++,演示安装g++11.2以及gdb10.2_第3张图片
  使用make指令编译,该过程需要等待30-70分钟,-j4 代表使用并行4个线程处理,可以根据自己的电脑CPU性能选择2, 4, 8…。

make -j8

附上该步骤成功编译完成图。
Linux下载高版本的gcc与g++并编译,升级g++,演示安装g++11.2以及gdb10.2_第4张图片

  • 安装gcc11.2
make install
  • 第一种: 永久加入到系统环境变量中(推荐)
sudo vim ~/.bashrc
# 在最后加入如下代码
PATH=/home/wjl/work/gcc112/bin:$PATH
LD_LIBRARY_PATH=/home/wjl/work/gcc112/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/home/wjl/work/gcc112/lib64:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/home/wjl/work/gcc112/libxec:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/home/wjl/work/gcc112/include:$INCLUDE
source ~/.bashrc
  • 第二种: 只为当前终端导入的gcc11.2环境配置,两种方式二选一即可!!!
export PATH=/home/wjl/work/gcc112/bin:$PATH
export LD_LIBRARY_PATH=/home/wjl/work/gcc112/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/wjl/work/gcc112/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/wjl/work/gcc112/libxec:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/home/wjl/work/gcc112/include:$INCLUDE

# 更新环境配置
source ~/.bashrc
  • 查看gcc版本
gcc -v

附上成功安装gcc11.2图。
Linux下载高版本的gcc与g++并编译,升级g++,演示安装g++11.2以及gdb10.2_第5张图片

3.如果最后make编译报如下错误

configure: error: run `make distclean' and/or `rm ./config.cache' and start over
make[1]: *** [configure-fixincludes] Error 1
make[1]: Leaving directory `/home/lixuezd/local/gcc'
make: *** [all] Error 2

如果遇见该报错,建议直接rm -rf删除gcc整个文件夹,因为其存在缓存问题,重新解压gcc压缩包,再来一遍即可。

4.安装GDB10.2

4.1 下载gdb

点我进入清华源-GCC链接:
http://ftp.gnu.org/gnu/gdb/
Linux下载高版本的gcc与g++并编译,升级g++,演示安装g++11.2以及gdb10.2_第6张图片
  下载gdb版本,作者这边选择的是10.2此处版本不同,后续的指令文件名需要选择自己的版本文件名。

mkdir ~/gdb & cd gdb
wget  http://ftp.gnu.org/gnu/gdb/gdb-10.2.tar.gz
tar -zxvf gdb-10.2.tar.gz -C ./
cd gdb-10.1/

4.2 编译安装gdb

编译时间有点长,我这边大约20分钟左右。

./configure
sudo make -j8
sudo make install
gdb -v

附上成功安装截图!!!
在这里插入图片描述

4.3 软连接以及管理g++版本

  • update-alternatives: --install 需要 <链接> <名称> <路径> <优先级>
# 优先级数字越大,越优先
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 10

sudo update-alternatives --install /usr/bin/gcc gcc /home/wjl/work/gcc112/bin/gcc 20
sudo update-alternatives --install /usr/bin/g++ g++ /home/wjl/work/gcc112/bin/g++ 20
  • 手动切换gcc与g++版本
sudo update-alternatives --config gcc
sudo update-alternatives --config g++

Linux下载高版本的gcc与g++并编译,升级g++,演示安装g++11.2以及gdb10.2_第7张图片

  • 找一个程序编译,成功截图如下
    Linux下载高版本的gcc与g++并编译,升级g++,演示安装g++11.2以及gdb10.2_第8张图片

你可能感兴趣的:(C++,gcc,linux,gcc,c++,gcc11,g++)