首先,一般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编译安装GCC-5.1.0

    2019独角兽企业重金招聘Python工程师标准>>> Linux编译安装GCC-5.1.0 Linux下编写C/C++程序自然缺不了一个优秀的编译器,Linux下比较常见的自然是G ...

  2. linux添加nginx,linux下安装Nginx1.16.0的教程详解

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

  3. CentOS,Ubuntu,Linux下安装yasm-1.3.0详细说明

    Linux下安装yasm-1.3.0详细说明 ①wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz  #下载源码包 ...

  4. linux下安装opencv4.4.0

    简介 opencv4.4.0和opencv_contrib-4.4.0以及编译过程中缺少的文件 链接:https://pan.baidu.com/s/11D6G3TbRY_-oNYlP4FDnTA  ...

  5. Linux下安装jboss-5.1.0.GA

    1.环境版本 linux版本:CentOS Linux release 7.5.1804 JDK版本:JDk_1.7.0_80 JBoss版本:jboss-5.1.0.GA 2.安装JDK (1)下载 ...

  6. Linux下安装oracle11.2.0.4

    注意:#代表root用户下的操作: $代表oracle用户 Oracle安装包及rpm离线依赖包 rpm离线依赖包 1.关闭.防火墙 #vi /etc/selinux/config 设置SELINUX ...

  7. Linux下安装MySQL 8.0

    1.切换到/usr/soft 注:本人比较喜欢将需要安装的软件放到/usr/soft下面,如果没有soft文件夹可以,创建一个 mkdir soft cd /usr/soft 2.下载mysql8.0 ...

  8. linux下安装python3出现无configure_Linux下安装Python3.9.0

    Linux下安装Python3.9.0 安装依赖环境 yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite- ...

  9. 如何在Linux下安装MySQL8.0

    如何在Linux下安装MySQL8.0 准备工作: mysql8.0 rpm文件 测试工具(比如 idea的database工具) 安装步骤: 1.     下载mysql的repo源,下载地址:ht ...

最新文章

  1. ssh linux mysql 乱码_JAVA ,SSH中文及其乱码问题的解决 6大配置点 使用UTF-8编码
  2. BZOJ 3489: A simple rmq problem
  3. Java面试常考的面试题整理
  4. 精彩回顾 | Dapr闪电说系列
  5. oracle test传入参数,oracle存储过程,test(测试)时传自定义类型参数问题
  6. DataTable数据集动态构造Table表结构
  7. Android调用.net的webservice服务器接收参数为空的情况
  8. 为了战略发展,Adobe推出自己浏览器?
  9. 中国地质大学网络计算机考试试题,中国地质大学《计算机》考试题答案
  10. 如何用python制作二维码照片_利用Python制作二维码
  11. 外卖返利系统,外卖返利系统小程序,外卖系统,返利系统
  12. iOSnbsp;播放流媒体nbsp;服务端配置备份
  13. Lenet5实现及代码详解——以MINST数据集为例
  14. 解决win10搜索框不能用的问题
  15. Group_concat()函数使用介绍
  16. 量化买卖压力选股(附源码)
  17. Spark 开发入门
  18. 对定点计算与浮点计算有了新的认识
  19. 控制台版--学生信息管理系统
  20. java开发_UUID(Universally Unique Identifier,全局唯一标识符)和GUID(Globally Unique Identifier,全球唯一标识符)...

热门文章

  1. Source Insight主题推荐和显示属性设置方法
  2. 第五个页面:更多电影页面
  3. 如何让热点图支持大数据
  4. CSS实现各类分栏布局
  5. 3月上旬中国域名解析服务商TOP10 DNSPOD升至8.24%
  6. 在SQL Server 2005中实现表的行列转换()
  7. 交换环境下的冗余及负载分担技术(STP Channel HSRP)
  8. 从技术人视角看闪电网络之微支付通道
  9. 2.7 json 模块
  10. Algs4-1.1.21打印表格