Centos6.5 升级升级手动安装GCC4.8.2

# Centos6.5 升级升级手动安装GCC4.8.2
默认的GCC 是4.4.7的,不能支持C++11的特性,关于C++11需要的版本可参考
http://en.cppreference.com/w/cpp/compiler_support
1. 下载GCC4.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
```
2. 下载供编译需求的依赖项
```
yum -y install glibc-devel.i686 glibc-devel
yum install gcc-c++
```
查看文件 ./contrib/download_prerequisites

MPFR=mpfr-2.4.2
GMP=gmp-4.3.2
MPC=mpc-0.8.1
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2 || exit 1
tar xjf $MPFR.tar.bz2 || exit 1
ln -sf $MPFR mpfr || exit 1
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$GMP.tar.bz2 || exit 1
tar xjf $GMP.tar.bz2  || exit 1
ln -sf $GMP gmp || exit 1
wget ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPC.tar.gz || exit 1
tar xzf $MPC.tar.gz || exit 1
ln -sf $MPC mpc || exit 1
rm $MPFR.tar.bz2 $GMP.tar.bz2 $MPC.tar.gz || exit 1


 因此需要下载mpfr-2.4.2,gmp-4.3.2,mpc-0.8.1
 https://pan.baidu.com/s/1Tgpsf6aCPepcb6AaixjZSg
 
3. 配置依赖项
 将mpfr-2.4.2  、gmp-4.3.2 、mpc-0.8.1解压到gcc-4.8.2目录下,并建立软连接
 ```
 ln -sf mpfr-2.4.2 mpfr
 ln -sf gmp-4.3.2 gmp
 ln -sf mpc-0.8.1 mpc
```
4.  生成Makefile文件
```
./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
```
5. 编译安装
```
make && make install

```

 

 

安装结束后,会出现两个地方有gcc,需要修改下软连接:

mv /usr/bin/gcc /usr/bin/gcc4.4.7
ln -s /usr/local/bin/gcc /usr/bin/gcc

另外。g++, cc, c++这几个命令也要改
mv /usr/bin/g++ /usr/bin/g++4.4.7
ln -s /usr/local/bin/g++ /usr/bin/g++

mv /usr/bin/cc /usr/bin/cc4.4.7
ln -s /usr/local/bin/cc /usr/bin/cc

mv /usr/bin/c++ /usr/bin/c++4.4.7
ln -s /usr/local/bin/c++ /usr/bin/c++
 

mv /usr/bin/cc4.4.7 /usr/bin/cc

 

 

其他安装:

Boost1_65安装boost,下载地址:链接:https://pan.baidu.com/s/12tLMEzaE5RnfMrXUldV6lw 密码:628u

cmake3.3.2安装,wget在线下载即可。

 

 

-----------------------------------------------------------------------------------------

GCC 方便的安装

gcc下载路径:http://ftp.gnu.org/gnu/gcc/

目标:升级GCC到4.8.2,以支持C++11。

2. 解压缩:tar -xf gcc-4.8.2.tar.gz;

3. 进入到目录gcc-4.8.2,运行:./contrib/download_prerequisites。这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

4. 编译安装 gcc

gcc 编译参数说明:
--prefix                        //默认 gcc 的安装目录,CentOS-6.5 下面最好安装到 /usr 下,不然可能会有问题
--enable-languages        //指定 gcc 能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,Java
--disable-multilib           //默认gcc 能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。

# tar -zxvf gcc-4.8.2.tar.gz
# cd gcc-4.8.2
# mkdir build
# cd build
# ../configure --prefix=/usr
# make && make install

 

make的时候出现错误  gnu/stubs-32.h:No such file or directory

 

yum -y install glibc-devel.i686

参考 http://blog.sina.com.cn/s/blog_6797a6700101eta5.html 的第二条评论。

 

如果有 “/usr/lib/ld: cannot find -lc”这样的错误,可能是找不到静态库 libc.a,(找不到到动态库 libc.so的可能性很小)。

解决方法:

yum install glic-static (64位)

yum install glic-static.i686 (32位)

你可能感兴趣的:(Linux)