Linux安装gcc 7.3.0编译器详解(CentOS 7 64位系统)

简介: Linux安装gcc 7.3.0编译器详解(CentOS 7 64位系统)

因为原生的CentOS 7自动安装的gcc版本是4.8.5;


yum -y install gcc gcc-c++ kernel-devel


最近工作和学习中需要使用C++17,所以被迫安装新版本的gcc编译器。



一、环境准备


yum -y install gmp-devel                                                           // 编译依赖此库  

yum -y install mpfr-devel                                                          // 编译依赖此库  

yum -y install libmpc-devel                                                        // 编译依赖此库  

yum -y install bzip2                                                                   // 编译依赖此库


wget ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.15.tar.bz2   // 编译依赖此库

tar -jxvf isl-0.15.tar.bz2  

cd isl-0.15  

./configure  

make  

make install


编译完成,检查gcc版本:


[root@localhost gcc-7.3.0]# gcc -v

Using built-in specs.

COLLECT_GCC=gcc

COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper

Target: x86_64-pc-linux-gnu

Configured with: ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

Thread model: posix

gcc version 7.3.0 (GCC)


二、gcc源码下载


http://ftp.gnu.org/gnu/gcc/


C++17要求gcc版本在7.1以上



三、gcc源码编译


tar xvf gcc-7.3.0.tar.gz


chmod -R 777 gcc-7.3.0

cd gcc-7.3.0


./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

make -j4 #编译非常耗时间,笔者花了大约50min

make install



四、编译报错及解决方法


问题1:gcc源码自身编译,找不到库的问题


gcc-7.3.0/host-x86_64-pc-linux-gnu/gcc/cc1: error while loading shared libraries: libisl.so.15: cannot open shared object file: No such file or directory
make[3]: *** [s-selftest] Error 1
make[3]: Leaving directory `/root/Downloads/gcc-7.3.0/host-x86_64-pc-linux-gnu/gcc'
make[2]: *** [all-stage1-gcc] Error 2
make[2]: Leaving directory `/root/Downloads/gcc-7.3.0'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/root/Downloads/gcc-7.3.0'


# 在"/usr/local/lib"目录下,怎么就找不到库libisl.so。


解决方法是:加到"/etc/ld.so.conf"或用"LD_LIBRARY_PATH"。


vi /etc/ld.so.conf  #添加库的路径/usr/local/lib/


然后终端命令行执行ldconfig,再重新编译。



问题2:gcc升级完成之后,编译项目工程时遇到的软连接问题


/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found


解决办法:https://blog.csdn.net/libaineu2004/article/details/77100132



五、笔者cmake版本是3.13.0,平时习惯用Qt Creator作为IDE开发项目。gcc升级之后,相应的配置需要调整:


image.png


调整为:


image.png



---


参考文献:


https://www.cnblogs.com/davygeek/p/8018628.html


姐妹篇:


https://blog.csdn.net/libaineu2004/article/details/49160315


相关文章
|
Linux 编译器 开发工具
提升CentOS 7中的gcc/G++版本
至此,你已经成功在CentOS 7中升级了gcc/G++版本。从现在开始,在终端中运行 `gcc`或 `g++`时,将会使用新版本的编译器。
1952 21
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
2495 25
|
存储 IDE Linux
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
691 10
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
1912 25
|
Oracle 关系型数据库 Linux
MyEMS开源系统安装之CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux
本指南介绍如何在CentOS/RHEL/Rocky/AlmaLinux/Oracle Linux服务器上部署MyEMS开源能源管理系统。内容涵盖系统准备、数据库配置、多个MyEMS服务(如myems-api、myems-admin、myems-modbus-tcp等)的安装与配置,以及Nginx服务器设置和防火墙规则调整。通过完成所有步骤,您将能够访问MyEMS Admin UI和Web UI,默认端口分别为8001和80,初始登录凭据已提供。
978 0
|
安全 大数据 Linux
云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
本次方案的主题是云上体验最佳的服务器操作系统 - Alibaba Cloud Linux ,从 Alibaba Cloud Linux 的产生背景、产品优势以及云上用户使用它享受的技术红利等方面详细进行了介绍。同时,通过国内某社交平台、某快递企业、某手机客户大数据业务 3 大案例,成功助力客户实现弹性扩容能力提升、性能提升、降本增效。 1. 背景介绍 2. 产品介绍 3. 案例分享
616 1
|
分布式计算 资源调度 Hadoop
|
应用服务中间件 Linux nginx
【Linux环境】centOS 7安装nginx详细步骤及nginx配置
【Linux环境】centOS 7安装nginx详细步骤及nginx配置
3890 0
|
XML Java Linux
Linux的CentOS7中安装maven3.6并配置阿里云远程仓库
Linux的CentOS7中安装maven3.6并配置阿里云远程仓库
2398 0
Linux的CentOS7中安装maven3.6并配置阿里云远程仓库