CentOS官方源自带的gcc是4.8版本的,这也太老了吧?编译redis都能不过的。但是编译最新版GCC耗时太长,那就二进制安装吧!
首先安装RedHat的软件集合(SCLs)
yum install centos-release-scl -y
如果安装了GCC4.8就先卸载掉吧,防止冲突(会同步移除g++):
yum remove gcc -y
接下来就是安装GCC8以及对应的C++编译器:
yum install devtoolset-8 -y
yum install devtoolset-8-gcc devtoolset-8-gcc-c++ -y
安装的GCC8默认装在别的目录,创建一个连接可直接调用:
ln -s /opt/rh/devtoolset-8/root/usr/bin/gcc /usr/bin/gcc
ln -s /opt/rh/devtoolset-8/root/usr/bin/g++ /usr/bin/g++
ln -s /opt/rh/devtoolset-8/root/usr/bin/c++ /usr/bin/c++
添加常用的gcc、c++的链接,如果需要别的可以在/opt/rh/devtoolset-8/root/usr/bin目录下找到。
不要创建软连接了,不然卸载的时候卸不干净,创建的链接不会被删除。
临时生效,执行:
scl enable devtoolset-8 bash
会新创建一个bash会话,键入exit即可退出。
如果想要永久生效,可以执行:
echo 'source scl_source enable devtoolset-8' >> ~/.bashrc
添加环境变量到当前用户的bash配置里,也就是.bashrc文件。仅对当前登陆的用户生效。
卸载的话需要手动编辑.bashrc文件,删除
source scl_source enable devtoolset-8
这行就行。(来源:redhat)
执行:
source ~/.bash_profile
可以刷新当前登陆用户的环境变量,然后控制台输入:
gcc -v
如果显示:
那就成功安装GCC8啦!
很实用,谢谢!!