通过下载源码编译安装的方式来升级 gcc/g++
这种方法相对复杂且耗时较长。
1.前期准备
以下是 centos7 下通过源码编译安装 gcc7.5.0 的大致步骤:
先通过yum安装默认版本的gcc,基本都是4.8.5版本
#(如果没有 g++,务必先安装,否则后面直接升级会出错) sudo yum install gcc gcc-c++ # 查看原来的 gcc 版本: gcc --v # 查看原来的 g++版本: g++ -v
备份原来的 gcc 文件:
sudo cp /usr/bin/gcc /usr/bin/gcc-4.8.5
2.配置 gcc7.5.0
# 如果你想安装其他版本的 gcc,只需将步骤中的 gcc7.5.0 换成相应的版本号,并在下载源码和安装时使用对应的版本即可。 # 下载 gcc7.5.0 源码 wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz # 解压源码 tar -zxvf gcc-7.5.0.tar.gz # 进入解压后的目录 cd gcc-7.5.0 # 下载依赖 ./contrib/download_prerequisites # 创建 build 目录 mkdir build # 进入 build 目录 cd build # 配置编译选项,--prefix=/usr表示安装在/usr目录下,可自己选择安装路径,不填写则默认为/usr/local ../configure -prefix=/usr --enable-checking=release --enable-languages=c,c++ --disable-multilib # 进行编译 (编译时间可能需要20-200分钟,线程越多越快) make -j20 #(-j20表示使用 20 个线程进行编译,可根据服务器性能调整) # 安装 make install # 验证 查看版本,确认 gcc/g++是否已成功升级到 7.5.0 版本 gcc --version g++ --version
请注意,源码编译安装可能会遇到各种问题,需要根据具体情况进行解决。
此外,不同版本的 gcc 可能存在一些差异,具体使用时请根据实际需求进行选择。
在进行操作之前,建议对系统进行备份,以防出现意外情况。
如果你想安装其他版本的 gcc,只需将上述步骤中的 gcc7.5.0 换成相应的版本号,并在下载源码和安装时使用对应的版本即可。
例如,要安装 gcc8.3.0,则下载 gcc-8.3.0.tar.gz 源码,并在配置编译选项时使用相应的版本信息。
但需注意,某些旧版本可能存在依赖问题或不再被广泛支持。
另外,如果你想在多个版本之间切换,可以参考以下步骤(以 gcc7.5.0 和 gcc8.3.0 为例):
安装 gcc8.3.0(假设之前已安装 gcc7.5.0):重复上述源码编译安装步骤,将版本号改为 8.3.0。
切换到 gcc7.5.0:source /opt/rh/devtoolset-7/enable。
切换到 gcc8.3.0:source /opt/rh/devtoolset-8/enable。这样就可以在不同版本之间进行切换,但每次切换都需要执行相应的 source 命令,仅在当前终端会话中生效。
如果要长期使用某个版本,可以考虑将相应的 source 命令添加到配置文件中,如/etc/profile。
关于 gcc 版本与 c++标准的对应关系,你可以参考 gcc 官网。
同时,编译过程中如果遇到问题,错误提示信息通常会提供一些线索,帮助你确定问题所在并进行相应的解决。
在操作过程中遇到具体问题时,可以查阅相关资料或在技术社区寻求帮助。