CentOS 6.5中直接在终端安装的gcc
和g++
的版本有些年代了,想尝鲜的需要源码安装。
1.安装编译器
源码安装gcc-5.2.0
需要编译器来编译源码(先有鸡还是先有蛋),于是乎如果系统没有安装c&c++
编译器的首先还是需要安装编译器。
yum install gcc gcc-c++ //安装gcc和g++
2.下载gcc-5.2.0
源码
wget http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.bz2 //到http://ftp.gnu.org/gnu/gcc上下载源码
tar -jxvf gcc-4.8.2.tar.bz2
3.下载供编译需要的依赖库
运行下面的脚本可以自动帮我们下载安装。
cd gcc-5.2.0
./contrib/download_prerequisites
4.建立一个文件夹供编译出的文件存放
mkdir /opt/gcc-build-5.2.0 //自定义吧
cd /opt/gcc-build-5.2.0
5.生成Makefile
文件
注意这里的--prefix=/usr/local/gcc
就是make
完成之后gcc
和g++
等执行文件存在的位置,或者说是bin
目录吧
../configure --prefix=/usr/local/gcc --enable-threads=posix --disable-checking --enable-languages=c,c++ --disable-multilib
6.root
权限下执行make && make install
,开始漫长的等待……,花了五个小时
7.卸载旧的版本
yum remove gcc
yum remove gcc-c++
updatedb
8.链接到新的版本
cd /usr/bin
ln -s /usr/local/gcc/bin/gcc gcc
ln -s /usr/local/gcc/bin/g++ g++
9.测试
g++ -v
gcc -v
//test.cpp
#include <iostream>
#incldue <vector>
int main()
{
int *ptr = nullptr;
std::vector<std::vector<int>> vv;
std::cout << "Hello World" << std::endl;
return 0;
}
//最后还有一些问题,留待下文吧
g++ -std=c++11 -o test test.cc