1. 编译新版gcc需要旧版支持
1)确认是否有安装gcc
gcc -v
- 如果没有安装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
- 修改系统使用的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++
- 最后,检验安装是否成功,使用/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
评论区