这个问题是你的glibc版本不对导致,需要升级glibc以下是最简单的方法:
centos升级gcc到4.7:
cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++
以上步骤安装gcc到/opt/centos/devtoolset-1.1/root/usr/bin/
export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++
以上步骤告诉程序去哪里找编译器
centos升级gcc到4.8:
cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++
export CC=/opt/rh/devtoolset-2/root/usr/bin/gcc
export CXX=/opt/rh/devtoolset-2/root/usr/bin/c++
export CPP=/opt/rh/devtoolset-2/root/usr/bin/cpp
如果你运行gcc -v版本还是没有升级,那么是因为/usr/bin/gcc下的gcc符号链接到了旧的gcc版本上,需要手动删除该符号链接,然后指向新的gcc(g++的操作一样)即可:
rm /usr/bin/g++
ln -s /opt/rh/devtoolset-2/root/usr/bin/g++ /usr/bin/g++