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


相关文章
|
8月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
3642 3
|
9月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
7月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
549 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
8月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
2106 16
|
7月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
1071 0
|
9月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
722 10
|
9月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
471 5
|
9月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
9月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
746 0