Linux 下安装 gcc6.3.0

来源:互联网 发布:剑三成男纯阳捏脸数据 编辑:程序博客网 时间:2024/06/07 01:24

原文为安装gcc5.3.0,亲测步骤完全一样,也同样适用于6.3.0。

原文地址:http://www.cnblogs.com/Norlan/p/5196920.html

对于linux小白来说,只需要先知道怎么安装,至于为什么等学了linux再说吧。。知识不系统的坏处啊!

首先,一般ubuntu上都预装了低级版本的Gcc,完全可以应付刷OJ时的C+Class+STL的风格,但因为寒

假里非常固执地要看C++primer,所以只能把编译器升级到最新版本以符合C++11/14标准。

安装GCC必备的几个东西

1。gcc5.3.0的源代码压缩包,这个可以直接去GCC的FTP站上下载。文件名是gcc-5.3.0.tar.gz(wget)

2。四个压缩包:

  m4(即an implementation of the traditional Unix macro processor)、

  gmp(即GNU Multiple Precision Arithmetic Library)、

  mpfr(即multiple-precision floating-point computations with correct rounding)

  mpc(即C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding)

在GCC的官方FTP镜像站都能找到以上几个包,可以暂时解压到temp文件夹中。

这四个包中,第一个可以通过ubuntu软件中心默认安装。下面四个则不能随意安装,实际上,他们是按照gmp-->mpfr--->mpc-->gcc

的顺序来安装的。

安装流程:注意#后为注释

(1)ubutu软件中心自动下载M4

(2)ftp下载gmp-6.0.1,在当前目录下,

tar xvf gmp-6.1.0.tar.bz2

#在与gmp-6.1.0同级别的目录下建一个新文件夹,叫temp(自己命名)

cd temp

../gmp-6.1.0/configure –prefix=/usr/local/gmp-6.1.0       ------------#这句是说,安装路径是/usr/local/,名字叫gmp-6.1.0;


make
sudo make install

#安装好后,可以查看/usr/local/gmp-6.1.0目录下有三个文件夹

(3)下载安装mpfr-3.1.3

#先清空temp内的文件,这样安装两个包互补影响,当然也可以另外新建一个文件夹,在你新的文件夹下:
../mpfr-3.1.3/configure --prefix=/usr/local/mpfr-3.1.3 --with-gmp=/usr/local/gmp-6.1.0          # prefix是安装路径,with是依赖的gmp库

make

sudo make install

(4)下载安装mpc-1.0.3

同样先清空temp文件夹

../mpc-1.0.3/configure –prefix=/usr/local/mpc-1.0.3 –with-gmp=/usr/local/gmp-6.1.0 –with-mpfr=/usr/local/mpfr-3.1.3

make

sudo make install

(5)安装GCC-----妈蛋才开始说正事

#再次清空temp首先配置GCC,在temp文件夹中执行以下命令,注意,此时temp和gcc-5.3.0在同级目录下
../gcc-5.3.0/configure --prefix=/usr/local/gcc-5.3 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-6.1.0 --with-mpfr=/usr/local/mpfr-3.1.3 --with-mpc=/usr/local/mpc-1.0.3

make

make install
       #在配置时,对于语言language=选项,可以根据自己需要的编译器选择语言。 ,java,obc都可以加进去
  #至此GCC5.3安装完毕。

配置环境变量

此时系统中存在两个版本的gcc,一个是/usr/bin/gcc , 另一个是/usr/local/gcc-5.3/ 如不修改环境变量,在每次调用5.3版本的gcc时都需要指定路径。为了方便使用,可以在/usr/bin目录下做一个符号链接

cd /usr/bin
ln -s /usr/local/gcc-5.3/bin/gcc gcc53
ln -s /usr/local/gcc-5.3/bin/g++ g++53

这样就可以使用gcc53 g++53来调用程序了,旧版本的gcc,g++仍然可以适用。

对于库路径同样需要设置下,这样,保证在调用库函数的时候可以适用到新版编译器的库函数,在etc/profile文件中适用root权限添加如下代码

export  LD_LIBRARY_PATH=/usr/local/gcc-5.3/lib:/usr/local/gcc-5.3/lib64:$LD_LIBRARY_PATH

注销重新登录,使变量生效


至此,gcc5.3安装完毕,解决了上述C++11的支持问题。

============================ 分割线 ================================

安装gcc6.3.0  make的时候,出现如下错误:

configure: error: cannot compute suffix of object files: cannot compile

处理方法如下:(原文地址: http://blog.csdn.net/testcs_dn/article/details/45437149)

解决办法:
我的gmp, mpfr, mpc都是使用默认参数安装的,没指定任何参数

./configuremakemake install

所以直接使用下面的命令设置环境变量就可以了:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

如果安装时指定了安装目录,使用类似下面的命令:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/gcc-4.6.3/mpc-0.9/mpc_install/lib:/opt/gcc-4.6.3/gmp-5.0.4/gmp_install/lib:/opt/gcc-4.6.3/mpfr-3.1.0/mpfr_install/lib






0 0