Centos7快速安装gcc8.3.1 可支持C++17(附gcc相关链接整理)

https://blog.csdn.net/mandiheyanyu/article/details/118995670

https://blog.csdn.net/weixin_43663238/article/details/126967596

Centos升级gcc版本最简单的方法 - 简书

centos7直接yum安装的那个gcc版本为4.8.5,对于大多数的需求来说都是低了。系统安装镜像里的那个版本也是4.8.5。

现在最新的版本可能到9了,9.2 9.3的安装教程我在网上都搜到过,但是似乎9的版本都需要make和make install?编译时间得小半天吧,有时候还会有各种奇怪的报错。所以要求不是特别严格的话可以看看8.3.1版本,我不是很清楚它和这种费时巨大的在使用的时候会不会缺胳膊少腿的,但是我目前用着还行。

安装devtoolset-8

sudo yum install centos-release-scl
sudo yum install devtoolset-8
scl enable devtoolset-8 bash
source /opt/rh/devtoolset-8/enable

修改gcc软链接


上面的修改后的gcc只对当前bash有效,要想永久生效需要修改gcc软链接到安装的devtoolset-8,后边执行mv命令的时候如果报错不用太过惊慌,这几句是用来替换掉直接安装的4.8.5版本的,但是没安装4.8.5软链接建立的命令也还是要执行的。

mv /usr/bin/gcc /usr/bin/gcc-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
mv /usr/bin/g++ /usr/bin/g++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
mv /usr/bin/c++ /usr/bin/c++-4.8.5
ln -s /opt/rh/devtoolset-8/root/bin/c++ /usr/bin/c++

查看修改后的版本


可以查看一下版本看看了

gcc --version
g++ --version
c++ --version

错误处理



如过在使用时出现如/usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found这样的报错
拷入libstdc++.so.6.0.26在/usr/lib64下

mv libstdc++.so.6.0.26 /usr/lib64
cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.26 libstdc++.so.6



libstdc++.so.6.0.26放到百度网盘里了
链接:https://pan.baidu.com/s/1kba2_iWTxQrKAaQB60r2vg
提取码:29i1

==================================================

再放两个我之前用过的比较费时的9.2版本安装教程
https://blog.csdn.net/weixin_30994847/article/details/112821626
https://blog.csdn.net/RyanFang/article/details/100927373


如果安装的时候显示g++显示没有可用的包

sudo yum install gcc-c++



ubuntu16.04安装gcc-8 g++8.0
https://blog.csdn.net/dream_for_/article/details/117201988

GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名
https://blog.csdn.net/abc5382334/article/details/45049735

嵌入式Linux文件IO,GCC编译流程及参数分析,静态库创建和使用,ar crs libhello.a hello.o创建静态库,nm查看静态库中符号信息
https://blog.csdn.net/m0_37542524/article/details/83754738
 

<think>好的,我现在需要在CentOS 8.2上安装GCC 8.3.1版本。根据用户提供的引用资料,我得先理清楚步骤。首先,用户提到CentOS 8.2可能遇到yum源过期的问题,引用[4]提到需要替换新的镜像源。所以第一步应该是更新yum源,确保能够正常访问软件包。 接下来,安装GCC可能需要依赖项。引用[1]提到安装gcc需要安装依赖项,可能包括开发工具组。通常,在CentOS安装开发工具组可以通过`yum groupinstall "Development Tools"`来完成,但需要确认yum源是否已经正确配置。 用户需要的是特定版本GCC 8.3.1,而默认的仓库可能不包含这个版本。CentOS 8的AppStream仓库通常提供较新的软件包,但可能需要启用PowerTools仓库。根据引用[4],替换镜像源后,可能需要启用其他仓库,比如PowerTools,可以通过`dnf config-manager --set-enabled PowerTools`来启用。 另外,引用[3]提到离线安装GCC的方法,如果在线安装不可行,可能需要下载rpm包手动安装。但用户可能更倾向于在线安装,所以先尝试通过yum/dnf安装。如果仓库中有GCC 8.3.1,可以直接安装;如果没有,可能需要添加第三方仓库,如SCL(Software Collections)或者使用devtoolset。 另外,用户提供的引用[2]中的ISO镜像可能包含rpm包,可以挂载ISO并从里面提取GCC的rpm包进行安装,但需要处理依赖关系,这可能比较麻烦。因此,在线安装可能是更简便的方式。 总结步骤应该是: 1. 替换yum源为有效的镜像,如阿里云。 2. 清理缓存并生成新缓存。 3. 安装必要的开发工具组和依赖项。 4. 启用PowerTools仓库。 5. 通过yum/dnf安装GCC 8.3.1,或者通过SCL安装。 6. 验证安装版本。 如果上述方法不行,可能需要编译源码安装,但比较耗时且复杂。可能用户希望用包管理器解决,所以优先考虑在线安装方法。</think>在CentOS 8.2上安装GCC 8.3.1的步骤如下: --- ### 1. **更新yum镜像源** 由于CentOS 8.2的官方源已过期,需替换为阿里云Vault镜像源: ```bash sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo sudo yum clean all && sudo yum makecache ``` 此步骤确保后续依赖包可正常下载[^4]。 --- ### 2. **启用PowerTools仓库** GCC 8.3.1可能依赖PowerTools仓库中的包: ```bash sudo dnf install -y dnf-plugins-core sudo dnf config-manager --set-enabled PowerTools ``` --- ### 3. **安装GCC 8.3.1** CentOS 8默认通过AppStream提供GCC 8.2.1,但可通过以下方式安装更高版本: #### **方法1:直接安装** ```bash sudo dnf install -y gcc-toolset-9-gcc # 安装GCC 9.x ``` 若需严格匹配8.3.1,需从源码编译(见方法2)。 #### **方法2:源码编译安装** 1. 下载GCC 8.3.1源码: ```bash wget https://ftp.gnu.org/gnu/gcc/gcc-8.3.1/gcc-8.3.1.tar.gz tar -zxvf gcc-8.3.1.tar.gz cd gcc-8.3.1 ``` 2. 安装依赖: ```bash ./contrib/download_prerequisites ``` 3. 编译并安装: ```bash mkdir build && cd build ../configure --disable-multilib --enable-languages=c,c++ make -j$(nproc) sudo make install ``` > 编译耗时较长(约1小时),需确保系统有足够内存和磁盘空间[^3]。 --- ### 4. **验证安装** ```bash gcc --version # 检查默认GCC版本 /usr/local/bin/gcc --version # 检查源码编译的版本(若使用方法2) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值