centos6.6 安装gcc 5.2.0 设置g++ 支持c++ 11特性


1.检查gcc是否安装,并安装相对应的编译工具

centos6.6 系统自带的 gcc是4.4.7版本,如果没有可以通过以下命令安装

yum install gcc

yum install gcc-c++

 

然后安装gcc相关的编译工具

yum install gcc gcc-c++ glibc-static –y

 

 

2.下载gcc5.2.0 并尝试编译

下载gcc5.2.0安装包

wget http://gcc.parentingamerica.com/releases/gcc-5.2.0/gcc-5.2.0.tar.gz

 

解压gcc5.2.0

tar –zxvf gcc-5.2.0.tar.gz

 

编译gcc5.2.0

cd gcc-5.2.0

./configure 

这里直接./configure 编译会出现两个可能的错误:

1.      没有安装旧的gcc gcc-c++相关的编译工具则会提示找不到 C-complier

2.      在存在C-complier的情况下直接./configure 会提示相关的组件没有安装,提示如下:

configure: error: Building GCC requires GMP4.2+, MPFR 2.4.0+ and MPC 0.8.0+.

Try the --with-gmp, --with-mpfr and/or--with-mpc options to specify

their locations.  Source code for these libraries can be foundat

their respective hosting sites as well asat

ftp://gcc.gnu.org/pub/gcc/infrastructure/.  See also

http://gcc.gnu.org/install/prerequisites.htmlfor additional info.  If

you obtained GMP, MPFR and/or MPC from avendor distribution package,

make sure that you have installed both thelibraries and the header

files. They may be located in separate packages.

 

此时可以进入gcc-5.2.0目录下,执行如下命令:

./contrib/download_prerequisites

脚本会自动下载三个依赖库别为gmp-4.3.2、mpfr-2.4.2、mpc-0.8.1,也可以通过如下地址离线下载安装:

ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2

http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2

http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz

如果是通过脚本自动下载的依赖库,则会在gcc-4.8.2目录下生成gmp、mpfr和mpc三个目录,分别安装即可

 

3.       安装gmp

cd gmp

mkdir build

cd build/

../configure –prefix=/usr/local/gcc/gmp-4.3.2

 

su获取root权限,执行安装

make && make install

 

4安装mpfr

回到gcc-5.2.0目录进入mpfr目录

cd ../../mpfr

mkdir build

cd build/

../configure –prefix=/usr/local/gcc/mpfr-2.4.2–with-gmp=/usr/local/gcc/gmp-4.3.2

 

su获取root权限,执行安装

make && make install

 

5安装mpc

回到gcc-5.2.0目录进入mpc目录

cd ../../mpc

cd build

../configure –prefix=/usr/local/gcc/mpc-0.8.1–with-mpfr=/usr/local/gcc/mpfr-2.4.2 –with-gmp=/usr/local/gcc/gmp-4.3.2

 

su获取root权限,执行安装

make && make install

 

6.添加共享库路径,su到root编辑ld.so.conf文件,添加如下内容到文件中

/usr/local/gcc/gmp-4.3.2/lib

/usr/local/gcc/mpfr-2.4.2/lib

/usr/local/gcc/mpc-0.8.1/lib

 

保存退出,执行ldconfig命令

 

7编译 GCC 5.2.0

cd ../..

cd build

../configure –prefix=/usr/local/gcc –enable-threads=posix–disable-checking –enable-languages=c,c++ --disable-multilib

#如果上述../configure命令会出现找不到 gmpmpfr mpc的提示,可以用下面的命令:

../configure –prefix=/usr/local/gcc --enable-threads=posix   --disable-checking   --enable-languages=c,c++ --disable-multilib  --with-gmp=/usr/local/gcc/gmp-4.3.2  --with-mpfr=/usr/local/gcc/mpfr-2.4.2  --with-mpc=/usr/local/gcc/mpc-0.8.1

换root  执行make&& make install  开始漫长的安装等待……

 

 

8 卸载旧版本

yum remove gcc

yum remove gcc-c++

updated

 

链接到新版本

cd /usr/bin

ln –s /usr/local/gcc/bin/gcc gcc

ln –s /usr/local/gcc/bin/g++ g++

 

添加man帮助

vi /etc/man.config

添加gcc的man路径到配置文件中

 

MANPATH /usr/local/gcc/share/man

 

保存退出即可生效,可使用man gcc查看帮助

 

9 设置gcc 5.2.0 支持c++ 11

 

在编译选项中加  -std=c++0x –Wall  或者  -std=c++11

g++ test.cpp -o test.out -std=c++0x -Wall

最后那个是编译警告,初学打开比较好

gcc目前需要添加-std=c++0x 才能顺利编译c++11新特性

 

或者用alias 

对当前系统下次重启前 临时生效:

alias g++=’g++ -std=c++0x’

 

或者想让它永久生效,则写入/etc/bashrc 文件中

vim /etc/bashrc

alias g++=’g++ -std=c++0x –Wall’ 

你可能感兴趣的:(Linux)