无论出于对C++ 0X或是OPENMP等的支持,使用最新的GCC都应是可能情况下的最好选择。网上其他的教程都过于繁琐或者因为太老而无法实行,这篇文章主要是简化了GCC依赖库的步骤。我是在GCC 4.1.2上升级,CPU E5606大约用了两个小时,可以参考上面的文章或者直接用以下脚本。GCC_V指定欲升级的版本号,当前的最新版本是4.7.2。
使用新GCC编译的代码可能在未升级的机器上会运行CORE掉,需要升级目标机器的libstdc++或者把GCC所在机器的复制到目标机器lib或lib64目录。
之后切换GCC到新版,参考:http://blog.csdn.net/giegie/article/details/6942669,不过他的略繁琐,简单来说就是
[quote]1)确定新安装的GCC的路径,之前安装时记下最后mv时的路径即可,我是默认安在了/usr/local/bin[/quote]
[quote]2)添加新GCC到可选项,倒数第二个参数为新GCC路径,最后一个参数为优先级,设大一些之后就自动使用新版了[/quote]
[quote]3)gcc -v确认当前版本已经切换为新版[/quote]
转:http://blog.csdn.net/magicyang87/article/details/7972169
使用新GCC编译的代码可能在未升级的机器上会运行CORE掉,需要升级目标机器的libstdc++或者把GCC所在机器的复制到目标机器lib或lib64目录。
#! /bin/bash
GCC_V='4.7.2'
sudo yum install -y glibc-static libstdc++-static
wget http://ftp.gnu.org/gnu/gcc/gcc-${GCC_V}/gcc-${GCC_V}.tar.gz -O 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++ --disable-multilib
make -j23
sudo make install
cd ..
rm -rf build_gcc${GCC_V} gcc-${GCC_V} gcc-${GCC_V}.tar.gz
之后切换GCC到新版,参考:http://blog.csdn.net/giegie/article/details/6942669,不过他的略繁琐,简单来说就是
[quote]1)确定新安装的GCC的路径,之前安装时记下最后mv时的路径即可,我是默认安在了/usr/local/bin[/quote]
ls /usr/local/bin | grep gcc
[quote]2)添加新GCC到可选项,倒数第二个参数为新GCC路径,最后一个参数为优先级,设大一些之后就自动使用新版了[/quote]
update-alternatives --install /usr/bin/gcc gcc x86_64-unknown-linux-gnu-gcc-4.7.2 40
[quote]3)gcc -v确认当前版本已经切换为新版[/quote]
转:http://blog.csdn.net/magicyang87/article/details/7972169