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


相关文章
|
4天前
|
Linux 开发工具 Windows
CentOS8 64位系统 搭建内网穿透frp
【10月更文挑战第23天】本文介绍了如何在Linux系统上搭建frp内网穿透服务,并配置Windows客户端进行访问。首先,通过系统信息检查和软件下载,完成frp服务端的安装与配置。接着,在Windows客户端下载并配置frpc,实现通过域名访问内网地址。最后,通过创建systemd服务,实现frp服务的开机自动启动。
38 14
|
2天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
9 5
|
6天前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
9 2
|
14天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
37 2
|
15天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
26 3
|
4天前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
12 0
|
Linux
百度搜索:蓝易云 ,Centos7系统wget 的安装与使用详细教程。
以上是在CentOS 7系统上安装和使用wget的详细教程。确保按照步骤操作,并根据您的需求进行必要的修改和调整。
182 0
|
关系型数据库 MySQL Linux
百度搜索:蓝易云【Centos7系统如何安装MySQL5.7数据库?】
安装 MySQL 5.7 数据库需要进行以下步骤:
119 0
|
6月前
|
关系型数据库 Linux Shell
Centos系统上安装PostgreSQL和常用PostgreSQL功能
Centos系统上安装PostgreSQL和常用PostgreSQL功能
|
Shell Linux Python
centos7系统 shell脚本安装python3 各版本
centos7系统 shell脚本安装python3 各版本
268 0
下一篇
无影云桌面