centos6.7 安装 gcc-4.9.2

670 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

环境: CentOS-6.7 , gcc-4.4.7 系统必须已经安装有一个编译器,因为 gcc也是需要编译的,建议用root进行安装

一、准备工作

(做完才发现:联网的话,这步可以先跳过,直接进入下一步安装gcc):

首先 gcc 编译需要三个额外库,下载并按照下面的顺序安装它们,如下:

  1. mpfr ftp.gnu.org/gnu/mpfr/

  2. gmp ftp.gnu.org/gnu/gmp/

  3. mpc ftp.gnu.org/gnu/mpc/

  4. 编译安装 gmp

wget ftp.gnu.org/gnu/gmp/gmp…

yum -y install lzip

#lzip -d gmp-6.1.2.tar.lz

tar -xvf gmp-6.1.2.tar

cd gmp-6.1.2

./configure

make && make install

  1. 编译安装 mpfr

wget ftp.gnu.org/gnu/mpfr/mp…

tar -zxvf mpfr-3.1.5.tar.gz

cd mpfr-3.1.2

./configure

make && make install

  1. 编译安装 mpc

wget ftp.gnu.org/gnu/mpc/mpc…

tar -zxvf mpc-1.0.3.tar.gz

cd mpc-1.0.3

./configure

make && make install

二、安装gcc:

1.首先下载源代码

wget ftp.gnu.org/gnu/gcc/gcc…

2.解压

tar -jxvf gcc-4.9.2.tar.bz2

3.下载编译所需的依赖项

cd gcc-4.9.2 

./contrib/download_prerequisites 

cd ..

4.建立编译输出目录

mkdir gcc-build-4.9.2

5.进入此目录,执行以下命令,生成makefile文件

cd gcc-build-4.9.2

../gcc-4.9.2/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

gcc 编译参数说明:

--enable-languages //指定 gcc 能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,java

--disable-multilib //默认gcc 能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。

6.执行以下命令进行编译

make -j2 //机器是双核,故用j2能加快编译速度

7、安装:

make install

8、指定版本:

现在gcc4.9.2安装完成了,但是gcc4.8.2的环境变量还没有设置,系统中使用的还是旧版的gcc。

刚刚我们把gcc4.9.2安装在/usr/local/bin/gcc-4.9.4下,如果不知道的话可以通过下边这步查找一下。

确定新安装的GCC的路径,可以先updatedb,然后locate gcc-4.9 |tail找一下。


[root@bogon gcc-build-4.9.2]# updatedb

[root@bogon gcc-build-4.9.2]# locate gcc-4.9 |tail

/usr/local/bin/gcc-4.9.4/share/man/man7/fsf-funding.7

/usr/local/bin/gcc-4.9.4/share/man/man7/gfdl.7

/usr/local/bin/gcc-4.9.4/share/man/man7/gpl.7

/usr/local/share/gcc-4.9.2

/usr/local/share/gcc-4.9.2/python

/usr/local/share/gcc-4.9.2/python/libstdcxx

/usr/local/share/gcc-4.9.2/python/libstdcxx/__init__.py

/usr/local/share/gcc-4.9.2/python/libstdcxx/v6

/usr/local/share/gcc-4.9.2/python/libstdcxx/v6/__init__.py

/usr/local/share/gcc-4.9.2/python/libstdcxx/v6/printers.py

查看gcc4.9.2信息如下:


[root@bogon gcc-build-4.9.2]# ls /usr/local/bin/gcc-4.9.4/bin | grep gcc
gcc
gcc-ar
gcc-nm
gcc-ranlib
x86_64-unknown-linux-gnu-gcc
x86_64-unknown-linux-gnu-gcc-4.9.4
x86_64-unknown-linux-gnu-gcc-ar
x86_64-unknown-linux-gnu-gcc-nm
x86_64-unknown-linux-gnu-gcc-ranlib

设置使用新版的gcc4.9的方法很简单,设置软链接即可

[root@bogon usr]# mkdir /usr/gcc447backup/
[root@bogon usr]# mv /usr/bin/{gcc,g++} /usr/gcc447backup
[root@bogon usr]# ln -s /usr/local/bin/gcc-4.9.4/bin/gcc  /usr/bin/gcc
[root@bogon usr]# ln -s /usr/local/bin/gcc-4.9.4/bin/g++  /usr/bin/g++
[root@bogon usr]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4.9.4-source/gcc-4.9.4/configure --enable-languages=c,c++,fortran --enable-checking=release --disable-libmudflap --disable-libstdcxx-pch --enable-libgomp --enable-lto --enable-gold --with-plugin-ld=gold --with-cloog-include=/usr/include-cloog --with-cloog-lib=/usr/lib64 --prefix=/usr/local/gcc-4.9.4
Thread model: posix
gcc version 4.9.4 (GCC) 

对于下载的是4.9.2,安装出来的是4.9.4,目前我也很疑惑,哪位知道原因的,希望各位大虾多多指教啊!

参考:www.cnblogs.com/codemood/ar… blog.csdn.net/windows_nt/…