源码编译gcc和g++

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

1)确认是否有安装gcc

gcc -v
  1. 如果没有安装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.1和2.2任选其一)。
2.1)用其自带的下载脚本

./contrib/download_prerequisites

下载好以后会得到3个目录gmp、mpc、mpfr
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++

4)可视机器cpu核心数调整,加参数-j。
make –j64
假如编译错误,可能需要安装sudo apt-get install bison build-essential flex
5)经过漫长的等待后

sudo make install
  1. 修改系统使用的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++
  1. 最后,检验安装是否成功,使用/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

# linux  shell 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×