CentOS 7 默认 gcc 版本是 " gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) " , 且用yum 安装也是 4.X 版本的,
所以,需要下载需要版本,手动编译安装。
0. 编译、安装需要登陆 root 用户执行。
- 下载:
https://mirrors.aliyun.com/gnu/gcc/gcc-5.5.0/
其他下载源,参考这篇文章:https://www.cnblogs.com/wutou/p/16777314.html
- 解压:
tar -zxf gcc-5.5.0.tar.gz
- 下载依赖
cd gcc-5.5.0
./contrib/download_prerequisites
下载到的依赖包:
gmp-4.3.2.tar.bz2
isl-0.14.tar.bz2
mpc-0.8.1.tar.gz
mpfr-2.4.2.tar.bz2
注:依赖包不用解压,编译时会自动解压
- 配置
./configure --prefix=/usr/local/gcc-5.5.0/
--enable-checking=release --enable-languages=c,c++ --disable-multilib
–prefix=/usr/local/gcc-5.5.0/:把所有资源文件都放在该路径下。
–enable-checking=release:生成的编译器在编译过程中不做额外检查。
–enable-languages=c,c++:让gcc支持c,c++。
–disable-multilib:不生成编译为其他平台可执行代码的交叉编译器。
https://www.bbsmax.com/A/qVdeW2QbJP/
- 编译
单线程
make
多线程,j3 代表使用3个线程,
在任务管理器中查看CPU支持几个线程,然后减一,比如CPU支持4线程,那么就用3个线程编译,为机器留一个线程处理其他任务
make -j3
- 安装
make install
- 设置默认版本
给旧版本改名,如果以后想使用旧版本,就不能用gcc打开4.8.5版本了,要用gcc485
mv /usr/bin/gcc /usr/bin/gcc485
mv /usr/bin/g++ /usr/bin/g++485
mv /usr/bin/c++ /usr/bin/c++485
mv /usr/bin/cc /usr/bin/cc485
mv /usr/lib64/libstdc++.so.6 /usr/lib64/libstdc++.so.6.bak
将新版本用软连接,指向默认名字
ln -s /usr/local/gcc-5.5.0/bin/gcc /usr/bin/gcc
ln -s /usr/local/gcc-5.5.0/bin/g++ /usr/bin/g++
ln -s /usr/local/gcc-5.5.0/bin/c++ /usr/bin/c++
ln -s /usr/local/gcc-5.5.0/bin/gcc /usr/bin/cc
ln -s /usr/local/gcc-5.5.0/lib64/libstdc++.so.6.0.28 /usr/lib64/libstdc++.so.6
- 验证
gcc --version
gcc -v