CentOS 升级 gcc 版本

news/2024/11/22 13:21:47/

CentOS 升级 gcc 版本

1. 安装步骤

CentOS7 默认的 gcc 版本是4.8,有时候需要更高版本,这里介绍一下如何将 gcc 版本升级到 8.3.1

  1. 安装 centos-release-scl

    yum install centos-release-scl
    
  2. 安装devtoolset,注意,如果想安装 9.* 版本的,就改成 devtoolset-9-gcc,以此类推

    yum install devtoolset-8-gcc*
    
  3. 激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

    scl enable devtoolset-8 bash
    
  4. 查看 gcc 版本

    gcc -v
    

2. FAQ

2.1 在执行yum install devtoolset-8-gcc*的时候报错,说找不到对应的包

解决方案:

安装完成后在 /etc/yum.repos.d 目录下会出现 CentOS-SCLo-scl.repo 和 CentOS-SCLo-scl-rh.repo 两个文件,安装后源默认启用,问题就在这两个文件上。

  1. 修改CentOS-SCLo-scl.repo文件

    vim /etc/yum.repos.d/CentOS-SCLo-scl.repo
    
  2. 修改此部分的 baseurl

    [centos-sclo-sclo]
    name=CentOS-7 - SCLo sclo
    baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
    # mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo
    gpgcheck=0
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
    
  3. 修改CentOS-SCLo-scl.repo

    vi /etc/yum.repos.d/CentOS-SCLo-scl.repo
    
  4. 修改此部分的 baseurl

    [centos-sclo-rh]
    name=CentOS-7 - SCLo rh
    baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
    # mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh
    gpgcheck=0
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
    
  5. 刷新缓存

    yum repolist
    yum clean all
    yum makecache
    

2.2 安装成功后重启再次执行gcc -v发现还是旧的版本

这条scl enable devtoolset-8 bash激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本,要想随意切换可按如下操作。

首先,安装的devtoolset是在 /opt/rh 目录下的

在这里插入图片描述

每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行:

source ./enable

所以想要切换某个版本只需要执行:

source /opt/rh/devtoolset-8/enable

解决方案:

  1. 方案一:可以将对应版本的切换命令写个shell文件放在配了环境变量的目录下,需要时随时切换,或者开机自启

  2. 方案二:直接替换旧的gcc

    旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable

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

http://www.ppmy.cn/news/1548644.html

相关文章

Spring Boot应用开发实战:构建高效、可维护的Web应用

Spring Boot应用开发实战:构建高效、可维护的Web应用 在当今快速迭代的软件开发环境中,Spring Boot凭借其“约定优于配置”的理念,迅速成为Java开发者构建微服务及Web应用的首选框架。它不仅简化了Spring应用的初始搭建以及开发过程,还通过自动配置、嵌入式服务器等特性,…

iOS 18 导航栏插入动画会导致背景短暂变白的解决

问题现象 在最新的 iOS 18 系统中,如果我们执行导航栏的插入动画,可能会造成导航栏背景短暂地变为白色: 如上图所示:我们分别向主视图和 Sheet 弹出视图的导航栏插入了消息,并应用了动画效果。可以看到,前者的导航栏背景会在消息插入那一霎那“变白”,而后者则没有任何…

植物明星大乱斗15

能帮到你的话&#xff0c;就给个赞吧 &#x1f618; 文章目录 player.hplayer.cppparticle.hparticle.cpp player.h #pragma once #include <graphics.h> #include "vector2.h" #include "animation.h" #include "playerID.h" #include &…

海外带云仓多语言商城源码,多语言多商家云仓一键代发商城

新增海外仓&#xff0c;云仓国际供应链系统&#xff0c;商家可登陆云仓进行批量发货 商城修复了一些bug以及增加了订单数字提示&#xff0c;优化加载速度&#xff0c;二开了一些细微功能 基于 PHP Laravel 框架开发的一款 Web 商城系统。 1.前端多国语言自由切换&#xff0c;…

【phpseclib】 PHP 使用加密算法 RSA、DES、AES等

一、Composer 下载 phpseclib # 我使用的是 phpseclib3 composer require phpseclib/phpseclib二、RSA 加密解密 // 我使用的是 phpseclib3use phpseclib3\Crypt\RSA;$type PKCS8; // 看需求选其一, PKCS8 | PKCS1 | JWK | MSBLOB | OpenSSH | PSS | PuTTY | Raw | WML $rsa…

H.265流媒体播放器EasyPlayer.js H.264/H.265播放器chrome无法访问更私有的地址是什么原因

EasyPlayer.js H5播放器&#xff0c;是一款能够同时支持HTTP、HTTP-FLV、HLS&#xff08;m3u8&#xff09;、WS、WEBRTC、FMP4视频直播与视频点播等多种协议&#xff0c;支持H.264、H.265、AAC、G711A、MP3等多种音视频编码格式&#xff0c;支持MSE、WASM、WebCodec等多种解码方…

深入理解 Maven 生命周期与常用命令:从编译到安装

Maven 是 Java 项目管理中不可或缺的工具之一&#xff0c;其核心功能包括依赖管理、项目构建和发布等。本文将围绕 Maven 的生命周期及常用命令&#xff0c;解析从项目编译到安装的完整流程&#xff0c;并结合实际案例帮助读者更好地掌握 Maven 的使用。 1. Maven 生命周期概述…

React——useCallback

一、定义&#xff1a; useCallback是一个允许你在多次渲染中缓存函数的 React Hook。它返回一个记忆化的回调函数&#xff0c;只有在依赖项改变时才会更新。这有助于避免在每次渲染时都创建新的函数实例&#xff0c;特别是在将回调函数传递给子组件时。 二、形式&#xff1a;…