对于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的支持问题。

              

Linux下安装GCC5.3.0(亲测有效)的更多相关文章

  1. Linux下安装Python3.3.0

    Linux下安装Python3.3.0_路易_新浪博客 Linux下安装Python3.3.0 (2013-01-08 11:45:37)

  2. Cent OS 6.5下安装gcc-5.3.0

    目录: .下载源码包 .安装以前版本的GCC编译器 .文件传输 .熟悉解压命令 .安装流程 .开始安装 .安装必备包之GMP,MPFR,MPC的安装 .继续安装         [1.下载源码包]   ...

  3. Linux 下安装mysql 8.0.11(CentOS 7.4 系统)

    CentOS 7 自带MariaDB (前mysql开发工程师开发的,因此与吗,mysql 有很多相似之处) 1.检查卸载自带的MariaDB rpm -qa|grep mariadb //查询出来已 ...

  4. linux下的tomcat开机自启动(亲测),更改静态ip

    开机自启动Tomcat: 1.修改脚本文件rc.local:vim /etc/rc.d/rc.local 这个脚本是使用者自定的开机启动程序,可以在里面添加想在系统启动之后执行的脚本或者脚本执行命令 ...

  5. linux编译安装gcc5.3.0

    1.下载GCC5.3.0安装包 #su #cd /opt #wget http://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz 2.解压 #.tar. ...

  6. windows下的java项目打jar分别编写在windows与linux下运行的脚本( 本人亲测可用!)

    前言: 最近公司做了一个工具,要将这个工具打包成一个可运行的程序,编写start.bat和start.sh在windows和linux下都可以运行. 在网上找了很多资料,最后终于找到一个可靠的资料,记 ...

  7. Centos7 linux下 安装 Redis 5.0

    网上找了很多文章,发现不全而且有些问题,安装很多次之后,总结一篇可以使用的,记录之. 环境:Centos7+Redis 5.0,如果环境不符合,本篇仅供参考. 1.准备工作 作者习惯软件安装包放在单独 ...

  8. Linux下安装redis 3.0及C语言中客户端实现demo

    1.获取安装文件 wget http://download.redis.io/redis-stable.tar.gz 2.解压文件 tar xzvf redis-stable.tar.gz 3.进入目 ...

  9. linux下安装Nginx1.16.0

    因为最近在倒腾linux,想安装新版本的nginx,找了一圈教程没有找到对应的教程,在稍微倒腾了一会之后终于成功的安装了最新版. 服务器环境为centos,接下来是详细步骤: 安装必要依赖插件 yum ...

随机推荐

  1. Robotium -- 针对apk包的测试

    在使用Robotium测试的时候,有时候,测试人员并没有代码权限,而Robotium也可以在只有apk文件进行测试,下面就介绍一下这个过程. 1.设置环境变量 安装jdk环境和sdk环境 2.安装签名 ...

  2. 使用Xmanager工具连接Linux服务器

    测试环境:RHEL5.8 1.# vi /usr/share/gdm/defaults.conf --修改以下三项Enable=true DisplaysPerHost=10 Port=177 All ...

  3. Managing linux Shell Jobs

    Managing Shell Jobs   When moving jobs between the foreground and background, it may be useful to ha ...

  4. 织梦DEDECMS {dede:field name='position'/}标签增加其它属性的

    在默认情况下,织梦(DedeCms)系统当前位置的调用标签为: {dede:field name='position'/} 在这种默认的情况下,生成后的代码大致为如下格式: 主页 > 应用软件 ...

  5. mongodb查询只显示指定字段

    db.COMMODITY_COMMODITY.find( { "areaCode" : "320100" , "backCatalogId" ...

  6. 怎样成为PHP 方向的一个合格的架构师

    突然看到这篇文章, 值得反省, 乐在其中, 在接下来的发展中不被淘汰的都来看看, 如何成为一个架构师先明确这里所指的PHP工程师,是指主要以PHP进行Web系统的开发,没有使用其的语言工作过.工作经验 ...

  7. IP V4地址分类

    IP V4地址 共分为五类: A类地址范围:1.0.0.1---126.255.255.254 B类地址范围:128.0.0.1---191.255.255.254 C类地址范围:192.0.0.1- ...

  8. NVIDIA 显卡温度提示过高,显卡温度高99度怎么办?

    你可能没有在意您的NVIDIA(英伟达)显卡温度,那么你就不会知道显卡温度过高如何导致的呢?也不会知道如果去解决显卡温度过高的问题了,在此我希望在电脑玩游戏或者在办公中电脑速度快慢,或者发热的情况下, ...

  9. 如何给网页标题栏上添加图标(favicon.ico)

    favicon.ico详解:     favicon是Favorites Icon的缩写,favicon.ico是指显示在浏览器收藏夹.地址栏和标签标题前面的个性化图标. 设置步骤: 1. 把做好的f ...

  10. ubuntu下wine打开自由们找不到MFC42.DLL重新安装的解决方法

    一直在找ubuntu下的X墙工具,看到大部分的都是ssh和tor的,但是tor下载不到,找了很多方法,没有办法,只能用FG了.但是Fg是运行在windows系统下的程序. 只好再安装一遍wine,用终 ...