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

本文详细介绍了在CentOS7系统中如何从原生的GCC4.8.5升级至GCC7.3.0的过程,包括环境准备、源码下载、编译步骤及常见问题的解决方法。特别关注了C++17的支持,适用于需要更新编译器以满足现代C++标准的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为原生的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源码下载

Index of /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

解决办法:/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found问题解决方法-优快云博客

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

调整为:

---

参考文献:

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

姐妹篇:

Linux安装gcc 4.9.4编译器详解(CentOS 7 64位系统)_安装gcc4.9.4-优快云博客

要在Linux安装gcc 7.3.0,你可以按照以下步骤进行操作: 1. 首先,下载gcc 7.3.0的压缩包。你可以从\[1\]或\[2\]提供的链接中选择一个镜像站点进行下载。 2. 下载完成后,解压缩压缩包。你可以使用以下命令进行解压缩: ``` tar -xf gcc-7.3.0.tar.gz ``` 3. 进入解压缩后的目录: ``` cd gcc-7.3.0/ ``` 4. 配置编译选项: ``` ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-bootstrap ``` 5. 编译安装gcc: ``` make sudo make install ``` 如果在编译过程中遇到类似于\[3\]中提到的错误信息,可能是由于缺少所需的共享库文件导致的。你可以尝试安装缺失的库文件,例如libisl.so.15,然后重新编译。 请注意,这只是一个大致的安装过程,具体的步骤可能会因为你的操作系统和环境而有所不同。建议你查阅gcc官方文档或相关的安装指南以获取更详细的信息和指导。 #### 引用[.reference_title] - *1* [GCC7.3 编译安装](https://blog.csdn.net/u011802646/article/details/85158162)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [linux 升级GCC7.3.0版本](https://blog.csdn.net/hhs_1996/article/details/119967509)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Linux安装gcc 7.3.0编译器详解(CentOS 7 64系统)](https://blog.csdn.net/libaineu2004/article/details/84823978)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值