1、了解gcc
目前,GCC可用于编译C/C、FORTRAN、JAVA、OBJC和ADA等语言的程序,并可根据需要选择支持安装的语言。 我在linux上是4.1.2版。 不支持openMP。 另外,因为自己使用openMP,所以自己安装了4.2版以上。
安装之前,系统需要抄送或gcc编译器。 否则,无法安装更高版本的gcc。 在这种情况下,请在互联网上找到并安装适合您系统的二进制格式的gcc软件包(如RPM )进行使用。
本文介绍了用源代码安装gcc的步骤。 我安装的是另一个目录下。 如果以后想卸载,直接删除那个目录就可以了。 本文提供了安装4.3.4版的详细步骤。 按照以下步骤一步一步地安装就可以了。
2、需要下载的安装包
2.1gcc下载
下载地址为http://ftp.gnu.org/gnu/gcc/,根据需要可以下载哪个版本? 我选择的是4.3.4版。 里面有gcc-4.3.4.tar.bz2、gcc-4.3.4.tar.gz。 选一个就行了。 那些完全一样。 我选择的是gcc-4.3.4.tar.gz。 此外,可以查看changes:http://gcc.GNU.org/gcc-4.5/changes.htm。 和以前的版本有什么变化,你可以自己自由地看。
2.2下载三个依赖软件包
一个是mpc,一个是gmp,一个是mpfr,下载地址是FTP 3360//FTP.GNU.org/GNU/MPC/MPC-1.0.2.tar.gz,FTP3360///FTP 从一开始就直接安装了gcc,但在配置过程中会显示以下信息。
配置:错误: buildinggccrequiresgmp 4.2,mpfr2.3.1and MPC0.8.0. try the-- with-GMP,--with-mpfrand
泰勒位置。
在安装gcc之前,必须安装GMP 4.2或更高版本、mpfr2.3. 1或更高版本、MPC0.8. 0或更高版本。
3、安装说明
安装3.1GMP-5.0.1。
这里选择的是gmp-5.0.1版,解压缩gmp-5.0.1后,得到源目录并创建临时编译目录temp。
$ tar -jxvf gmp-5.0.1.tar.bz2
$ cd gmp-5.0.1
$ mkdir temp
$ cd temp
开始配置安装目录并进入temp目录后,键入以下命令:
$ ./configure-- prefix=/usr/local/GMP-5.0.1
$ make
$ make install
gmp安装到此完成。 mpfr和mpc的安装过程也是一样的,但在安装过程中必须添加依赖关系
3.2mpfr的安装
我在这里选择的是3.1.2版的mpfr。 解压缩,创建临时编译目录temp,然后进入temp目录
$ tar -zxvf mpfr-3.1.2.tar.gz
$ cd mpfr-3.1.2
$ mkdir temp
$ cd temp
$ ./configure-- prefix=/usr/local/mpfr-3.1.0-- with-GMP=/usr/local/GMP-5.0.1
$ make
$ make install
其中--with=/usr/local/gmp-5.0.1是依赖关系,/usr/local/gmp-5.0.1是gmp的安装目录
3.3MPC安装
我选择的是解压缩1.0.2MPC .版本,创建临时编译目录temp,然后进入temp目录。
$ tar -zxvf mpc-1.0.2.tar.gz
$ cd mpc-1.0.2
$ mkdir temp
$ cd temp
$ ./configure-- prefix=/usr/local/MPC-1.0.2-- with-GMP=/usr/local/GMP-5.0.1-- with-mpfr
$ make
$ make install
请记住以下两个依赖项: gmp和mpfr安装目录
3.4gcc的安装
前面安装的三个都是为了安装gcc而准备的。 解压缩gcc安装包
$ tar zxvf gcc-4.3.4.tar.gz或$ tar jxvf gcc-4.5.1.tar.bz2
>得到的目录gcc-4.3.4就是源目录,用${srcdir}表示。在gcc-4.3.4里的INSTALL目录里就有安装的详细过程,那全都是英文的,里面的源目录也是用${srcdir}表示。我是解压在/usr/local/src/gcc-4.3.4目录里。建立目标目录
$ mkdir /usr/local/gcc-4.3
$ cd gcc-4.3
这是目标目录,也就是编译的目录,然后以下所有的操作都在该目录下进行.用${objdir}
建立安装目录
$ mkdir /usr/local/gcc-4.3.4
这是你gcc安装的地方。用${destdir}表示。开始进行配置
$ ${srcdir}/configure --prefix=${destdir} [其它选项]
安装的时候记得把真实目录替换掉${srcdir}和${destdir}。我的是这么写的
$ /usr/local/src/gcc-4.3.4/configure --prefix=/usr/local/gcc-4.3.4 --enable-threads=posix --disable-checking --enable--long-long --enable-languages=c,c++,java --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --with-mpc=/usr/local/mpc-1.0.2
记得加上后面三个依赖项,否则会出刚开始出现的错误的。然后安装
$ make
$ make install
安装的时候等挺长时间,差不多两个小时。
3.5 gcc、g++、gcj设置
要想使用GCC 4.3.4的gcc等命令,简单的方法就是把它的路径${destdir}/dddyb放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。
而原来gcc的路径是在usr/dddyb下。我们可以把gcc 4.3.4中的gcc、g++、gcj等命令在/usr/dddyb目录下分别做一个符号连接:
$ cd /usr/dddyb
$ ln -s /usr/local/gcc-4.3.4/dddyb/gcc gcc434
$ ln -s /usr/local/gcc-4.3.4/dddyb/g++ g++434
$ ln -s /usr/local/gcc-4.3.4/dddyb/gcj gcj434
这样,就可以分别使用gcc434、g++434、gcj434来调用GCC 4.1.2的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。
3.6 库路径的设置
将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,例如,如果GCC 4.3.4安装在/usr/local/gcc-4.3.4目录下,在RH Linux下可以直接在命令行上执行
$ export LD_LIBRARY_PATH=/usr/local/gcc-4.3.4/lib
最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了,在文件$HOME/.bash_profile中添加下面两句:
LD_LIBRARY_PATH=:/usr/local/mpc-1.0.2/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.2/lib:/usr/local/gcc-4.3.4/lib
export LD_LIBRARY_PATH
或者在/etc/bash_profile 下添加。
重启系统设置生效,或者执行命令
$ source $HOME/.bash_profile
或者:
$ source /etc/bash_profile
用新的编译命令(gcc412、g++412等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。
完成了Linux安装GCC,之后你就能轻松地编辑了。