一、准备工作
(做完才发现:联网的话,这步可以先跳过,直接进入下一步安装gcc):
首先 gcc 编译需要三个额外库,下载并按照下面的顺序安装它们,如下:1. mpfr http://ftp.gnu.org/gnu/mpfr/2. gmp http://ftp.gnu.org/gnu/gmp/3. mpc http://ftp.gnu.org/gnu/mpc/1. 编译安装 gmp# wget http://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.lz# 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 install2. 编译安装 mpfr# wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.5.tar.gz# tar -zxvf mpfr-3.1.5.tar.gz# cd mpfr-3.1.2# ./configure# make && make install 3. 编译安装 mpc# wget http://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz# tar -zxvf mpc-1.0.3.tar.gz# cd mpc-1.0.3# ./configure# make && make install二、安装gcc:
1.首先下载源代码# wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz22.解压# tar -jxvf gcc-4.9.2.tar.bz23.下载编译所需的依赖项# 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-multilibgcc 编译参数说明:--enable-languages //指定 gcc 能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,java--disable-multilib //默认gcc 能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。 6.执行以下命令进行编译# make -j2 //机器是双核,故用j2能加快编译速度7、安装:# make install8、指定版本:现在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 gccgccgcc-argcc-nmgcc-ranlibx86_64-unknown-linux-gnu-gccx86_64-unknown-linux-gnu-gcc-4.9.4x86_64-unknown-linux-gnu-gcc-arx86_64-unknown-linux-gnu-gcc-nmx86_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 -vUsing built-in specs.COLLECT_GCC=gccTarget: x86_64-unknown-linux-gnuConfigured 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.4Thread model: posixgcc version 4.9.4 (GCC) 对于下载的是4.9.2,安装出来的是4.9.4,目前我也很疑惑,哪位知道原因的,希望各位大虾多多指教啊!参考:http://www.cnblogs.com/codemood/archive/2013/06/01/3113200.htmlhttp://blog.csdn.net/windows_nt/article/details/21240843新闻热点
疑难解答