CentOS7默认的GCC版本是4.8,不支持C++14,对C++11支持也不完善,编译时需要加上-std=c++11才能勉强支持C++11,所以对GCC来个升级。
因为3.10的内核实在太老,加之GCC4.8和最新的GCC8.2代差太大,直接用GCC4.8编译安装GCC7或8是不能成功的,我选择了GCC6.5,6.5对C++11支持很完美,还支持C++14.
-
1、下载和解压源码
这里列出了GCC主要的几个镜像站,很遗憾亚洲只有日本一个,国内一个都没有
https://gcc.gnu.org/mirrors.html
GCC mirror sites
Our releases are available on the GNU FTP server and its mirrors. The following sites mirror the gcc.gnu.org FTP site (Phoenix, Arizona, USA) directly:
- France (no snapshots): ftp.lip6.fr, thanks to ftpmaint at lip6.fr
- France, Brittany: ftp.irisa.fr, thanks to ftpmaint at irisa.fr
- France, Versailles: ftp.uvsq.fr, thanks to ftpmaint at uvsq.fr
- Germany, Berlin: ftp.fu-berlin.de, thanks to ftp at fu-berlin.de
- Germany: ftp.gwdg.de, thanks to emoenke at gwdg.de
- Germany: ftp.mpi-sb.mpg.de, thanks to ftpadmin at mpi-sb.mpg.de
- Germany: http://gcc.cybermirror.org, thanks to Sascha Schwarz (cm at cybermirror.org)
- Greece: ftp.ntua.gr, thanks to ftpadm at ntua.gr
- Hungary, Budapest: robotlab.itk.ppke.hu, thanks to Adam Rak (neurhlp at gmail.com)
- Japan: ftp.tsukuba.wide.ad.jp, thanks to Kohei Takahashi (tsukuba-ftp-servers at tsukuba.wide.ad.jp)
- The Netherlands, Dronten: http://mirror.koddos.net/gcc/ | rsync://mirror.koddos.net/gcc/, thanks to Martin (mirror@koddos.net) at KoDDoS.
- The Netherlands, Nijmegen: ftp.nluug.nl, thanks to Jan Cristiaan van Winkel (jc at ATComputing.nl)
- Russia, Novosibirsk: http://mirror.linux-ia64.org/gnu/gcc/, thanks to Daniel Volchixin <daniel@volchixin.co.uk>
- Slovakia, Bratislava: gcc.fyxm.net, thanks

本文介绍了如何在CentOS7上编译升级GCC到6.5版本,以解决默认GCC版本不支持C++14的问题。首先,从官方镜像站点下载源码并配置环境,利用旧金山或圣何塞的镜像以提高下载速度。接着,编译过程中需要注意配置选项,如禁用不需要的语言支持。完成编译后进行安装,并检查是否成功。文章还列举了在升级过程中可能遇到的错误,包括缺失32位库、C++预处理器失败和环境变化导致的构建失败,以及相应的解决方案。
最低0.47元/天 解锁文章
3304





