操作环境 Red-hat 6.2 64bit,yum装置自带版别4.4.7,不能支撑C++11的特性,需求升级到4.8.2,本文首要操作如下。
简易装置
获取装置包并解压
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2tar -jxvf gcc-4.8.2.tar.bz2
当然,http://ftp.gnu.org/gnu/gcc 里边有所有的gcc版别供下载,最新版别已经有4.9.2啦。下载供编译需求的依靠项,这个奇特的脚本文件会帮咱们下载、装备、装置依靠库,能够节省咱们很多的时刻和精力。
cd gcc-4.8.2 ./contrib/download_prerequisites
树立一个目录供编译出的文件寄存
mkdir gcc-build-4.8.2cd gcc-build-4.8.2
生成Makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
编译(留意:此过程十分耗时)
make -j4
-j4选项是make对多核处理器的优化。
装置
sudo make install
验证装置
重启,然后检查gcc版别
gcc -v
写一个C++11特性的程序段 test.cpp,使用了shared_ptr
//test.cpp#include #include using namespace std;int main(){ shared_ptr pInt(new int(10)); cout < < *pInt << endl; return 0;}
验证
g++ -std=c++11 -o test test.cpp./test
假如找不到libstdc++.so.6中的GLIBCXX_3.4.15,请履行下面指令
cp /usr/local/lib64/libstdc++.so.6.0.18 /usr/lib64rm -rf /usr/lib64/libstdc++.so.6ln -s /usr/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6
检查是否链接上
ll /usr/lib64/libstdc++.so.6lrwxrwxrwx 1 root root 19 9月 29 12:48 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.18