共计 1042 个字符,预计需要花费 3 分钟才能阅读完成。
操作环境 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.bz2
tar -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.2
cd 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
验证
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/lib64
rm -rf /usr/lib64/libstdc++.so.6
ln -s /usr/lib64/libstdc++.so.6.0.18 /usr/lib64/libstdc++.so.6
查看是否链接上
ll /usr/lib64/libstdc++.so.6
lrwxrwxrwx 1 root root 19 9 月 29 12:48 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.18
正文完
星哥玩云-微信公众号