http://www.cnblogs.com/linbc/archive/2012/08/03/2621169.html
无论出于对C++ 0X或是OPENMP等的支持,使用最新的GCC都应是可能情况下的最好选择。网上其他的教程都过于繁琐或者因为太老而无法实行,这篇文章主要是简化了GCC依赖库的步骤。我是在GCC 4.1.2上升级,CPU E5606大约用了两个小时,可以参考上面的文章或者直接用以下脚本。GCC_V指定欲升级的版本号,当前的最新版本是4.7.2。
使用新GCC编译的代码可能在未升级的机器上会运行CORE掉,需要升级目标机器的libstdc++或者把GCC所在机器的复制到目标机器lib或lib64目录。
- #! /bin/bash
- sudo yum install -y glibc-static libstdc++-static
- GCC_V='4.7.2'
- wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_V}/gcc-${GCC_V}.tar.gz
- tar xzf gcc-${GCC_V}.tar.gz
- cd gcc-${GCC_V}
- ./contrib/download_prerequisites
- cd ..
- mkdir build_gcc${GCC_V}
- cd build_gcc${GCC_V}
- ../gcc-${GCC_V}/configure --enable-checking=release --enable-languages=c,c++,java \
- --disable-multilib
- make -j9
- sudo make install
之后切换GCC到新版,参考:http://blog.youkuaiyun.com/giegie/article/details/6942669,不过他的略繁琐,简单来说就是
1)确定新安装的GCC的路径,之前安装时记下最后mv时的路径即可,我是默认安在了/usr/local/bin
ls /usr/local/bin | grep gcc
2)添加新GCC到可选项,倒数第二个参数为新GCC路径,根据自己的实际情况设置,最后一个参数为优先级,设大一些之后就自动使用新版了
update-alternatives --install /usr/bin/gcc gcc x86_64-unknown-linux-gnu-gcc-4.7.2 40
3)gcc -v确认当前版本已经切换为新版
4)如果出现g++仍然为原来版本的问题,重启计算机解决。