gcc从4.8.0开始支持c11,因此在编译一些在c中使用c++特性的代码时,往往需要升级gcc(centos 6 gcc版本为4.4.7)
1,源码编译升级(不推荐,麻烦且容易出错)
先下载一堆依赖项,有些博客里说./contrib/download_prerequisites可以自动安装所需依赖项,这个我倒没试过
从http://gcc.gnu.org/下载gcc安装包 gcc-4.8.2.tar.gz
从ftp://ftp.gnu.org/gnu/gmp/ 下载GMP安装包 gmp-5.1.3 .tar.bz2
从http://ftp.gnu.org/gnu/mpfr/ 下载MPFR安装包 mpfr-3.1.2.tar.gz
从http://www.cise.ufl.edu/mirrors/GNU/pub/gnu/mpc 下载MPC安装包 mpc-1.0.1.tar.gz
接着每个包解压,先安装gmp, mpfr, mpc三个依赖项,如果没啥需求可以直接默认安装
./configure
make && make install
然后安装gcc-4.8
mkdir build
cd build
../configure 【编译选项】编译选项可以gcc -v看下当前gcc的一些配置,如果之前是yum安装的话一般是系统默认的,这里根据自己的需求加一些
make -j8 && make install
全部装完以后,更新一下/usr/bin/下面的gcc即可
update-alternatives --install /usr/bin/gcc gcc <gcc_path> 40
期间可能会遇到的问题还是很多的,所以强烈推荐通过yum升级
2,yum升级gcc
我也是参照下文配置的,尝试可以没啥第一阶段第二阶段,对着相应需要的版本升级就好
yum升级gcc