自己下载源码啊手动编译gcc/g++

1. 编译新版gcc需要旧版支持

 1)确认是否有安装gcc

   gcc -v

2) 如果没有安装gcc, 如果机子有联网,则可以使用以下方法

  center-os系统:
  yum -y install gcc
  yum -y install gcc-g++

 

  ubuntu系统:

  sudo apt-get installgcc

  sudo apt-get installg++

2
确认有旧版的gcc之后,下载gcc_4.9.3

 wget  http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.9.3/gcc-4.9.3.tar.bz2
1
)解压
   tar -jxvf gcc-4.9.3.tar.bz2
 
2
)下载依赖项

  先进入到解压后的目录
  cd gcc-4.9.3
 
可有如下2中方法下载依赖项(2.12.2任选其一)。


2.1
)用其自带的下载脚本
    ./contrib/download_prerequisites

    下载好以后会得到3个目录gmpmpcmpfr

2.2
如果上面脚本连接失败,则可以到国内csdn下载(当然不仅限于此)

    http://download.csdn.net/detail/alex_my/7681299

    下载好以后会得到3个压缩包,手动解压并建立软链接

tar -jxvf gmp-4.3.2.tar.bz2
    tar -zxvf mpc-0.8.1.tar.gz
    tar -jxvf mpfr-2.4.2.tar.bz2
    ln -sf gmp-4.3.2 gmp
    ln -sf mpc-0.8.1 mpc
    ln -sf mpfr-2.4.2 mpfr

3
编译前配置configure
 ../gcc-4.9.3/configure --prefix=
/home/lh/gcc-4.9.3/build--enable-threads=posix --disable-checking --enable--long-long--with-system-zlib --enable-languages=c,c++

../gcc-4.9.3/configure --prefix=/home/lh/gcc-4.9.3/build--enable-threads=posix --disable-checking --enable--long-long--with-system-zlib --enable-languages=c,c++

4可视机器cpu核心数调整,加参数-j

    make –j64

    假如编译错误,可能需要安装sudo apt-get install bison build-essential flex


5
经过漫长的等待后
    sudo make install

6)  修改系统使用的gcc/g++

   一般gcc/g++会安装到/usr/local/bin中,而编译时默认使用的是/usr/bin中的版本,因此,需要重新制作链接。
    sudo rm -rf /usr/bin/gcc
    sudo rm -rf /usr/bin/g++
    sudo ln -s /usr/local/bin/gcc/usr/bin/gcc
    sudo ln -s /usr/local/bin/g++/usr/bin/g++

 7) 
最后,检验安装是否成功,使用/home/lh/gcc-4.9.3/build/bin/gcc-v

查看版本。会看到:

xxx@ubuntu:~/Develop/gcc-4.9.0$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/i686-pc-linux-gnu/4.9.3/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: ./configure --enable-checking=release --enable-languages=c,c++--disable-multilib
Thread model: posix
gcc version 4.9.3 20150325 (prerelease) (GCC)

 

 

修改默认gcc的路径到新版本

:exportPATH="/home/lh/gcc-4.9.3/build/bin/:$PATH"

(只对终端有效)

修改永久有效:

vim .bashrc

猜你喜欢

转载自blog.csdn.net/l919898756/article/details/81015617