编译安装指定版本的gcc/g++

发布时间 2023-10-14 18:09:10作者: 黄河大道东

编译与安装

gnu源码仓库镜像地址集合:https://www.gnu.org/prep/ftp.html

注意:太新版本的gcc编译就会出问题,选择版本的时候,只要能够支持最新的语法标准其实就可以了

# 使用超级管理员操作,所有用户都能用
su root
# 下载源码包
cd && mkdir gcc && cd gcc
wget --no-check-certificate  https://mirrors.aliyun.com/gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz
# 解压
tar -zxvf gcc-10.2.0.tar.gz -C ./  && cd gcc-10.2.0
# 下载依赖
./contrib/download_prerequisites
# 配置安装目录
mkdir /root/gcc10 && ./configure --prefix=/root/gcc10 --enable-languages=c,c++ --enable-checking=release --disable-multilib
# 编译&&安装
# 使用8个线程编译,编译时间比较长如果用原生的ubuntu的终端,会中断,用xshell的终端编译
make -j8 && make install

配置环境

vim ~/.bashrc

# 配置动态库搜索目录
PATH=/root/gcc10/bin:$PATH
LD_LIBRARY_PATH=/root/gcc10/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/root/gcc10/lib64:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/root/gcc10/libxec:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=/root/gcc10/include:$INCLUDE

source ~/.bashrc

# 查看gcc版本
gcc -v && g++ -v

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

语法:update-alternatives: --install 需要 <链接> <名称> <路径> <优先级>

# 优先级数字越大,越优先
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 10
update-alternatives --install /usr/bin/gcc gcc /root/gcc10/bin/gcc 20
update-alternatives --install /usr/bin/g++ g++ /root/gcc10/bin/g++ 20
# 手动配置
update-alternatives --config gcc
update-alternatives --config g++

安装GDB

mkdir -p ~/gdb && cd ~/gdb
# 下载
wget --no-check-certificate https://mirrors.aliyun.com/gnu/gdb/gdb-10.1.tar.gz
tar -zxvf gdb-10.1.tar.gz -C ./ && cd gdb-10.1/
# 配置
./configure
# 编译安装
make -j8 && make install
# 创建链接
cp -r gdb-10.1/  /usr/bin/gdb
# 查看版本
gdb -v

参考

原文地址:https://blog.csdn.net/qq_37700257/article/details/131540737

解决libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found:https://blog.csdn.net/qq_35812205/article/details/129475497
g++: internal compiler error: Killed (program cc1plus) 解决办法:https://blog.csdn.net/zuiyijiangnan/article/details/117215331
ubuntu下gcc/g++版本升级到指定版本(g++9.4为例):https://blog.csdn.net/qq_37346140/article/details/127686966