1、了解一下gcc  

  目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。

  在安装之前,系统必须有cc或者gcc的编译器,如果没有,就不能安装更高版本的gcc了,如果是这种情况,可以在网上找一个与你系统相适应的如RPM等二进制形式的GCC软件包来安装使用。

  本文介绍的是以源代码安装gcc的过程,我安装的是在一个单独的目录下,以后想卸载的话,直接删除该目录就行。

2、需要下载的安装包

2.1 下载gcc

  下载网址是http://ftp.gnu.org/gnu/gcc/,可以根据自己的需要下载哪个版本。

2.2 下载3个依赖包

  一个是mpc,一个是gmp,一个是mpfr,下载地址依次为:ftp://ftp.gnu.org/gnu/mpc/mpc-1.0.2.tar.gz,ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2 ,http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.2.tar.gz。安装的顺序依次为:GMP,mpfr, mpc,最后安装gcc。我开始就直接安装gcc,在配置过程出现以下信息:

configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify

their locations.

  提示安装gcc之前,必须安装GMP 4.2以上版本,MPFR2.3.1以上版本, MPC 0.8.0以上版本。

3、安装步骤

3.1 安装GMP-5.0.1.

  我这里选择的是GMP5.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.2 安装mpfr

  我这里选择的是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.3 安装mpc

  我选择的是1.0.2版本mpc.解压,建立临时编译目录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=/usr/local/mpfr-3.1.0

$ make

$ make install

记得后面两项的依赖项,也就是你的gmp和mpfr的安装目录

3.4 安装gcc

  前面安装的三个,都是为安装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}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。

  而原来gcc的路径是在usr/bin下。我们可以把gcc 4.3.4中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:

$ cd /usr/bin

$ ln -s /usr/local/gcc-4.3.4/bin/gcc gcc434

$ ln -s /usr/local/gcc-4.3.4/bin/g++ g++434

$ ln -s /usr/local/gcc-4.3.4/bin/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,之后你就能轻松地编辑了。

Linux下安装gcc环境相关推荐

  1. g 最新编译器linux,Linux下安装gcc 、g++ 、gfortran编译器

    一.ubuntu下gcc/g++/gfortran的安装 1.安装 (1).gcc ubuntu下自带gcc编译器.可以通过"gcc -v"命令来查看是否安装. (2).g++ 安 ...

  2. linux下安装gcc

    linux下安装gcc,我们有一台服务器以前的管理员居然在装系统的时候没有装gcc,我晕死了,当时抱着试试看的态度去装gcc,我用到了yum,因为rpm的依赖关系太多了,实在是没得搞,我的系统是lin ...

  3. 关于EeePc的Linux下安装GCC编译器

    最近由于需要,把几年前(有点夸张)的EeePc 1000拿出来,想在它自带的Linux系统下进行编程.谁知道居然没有GCC编译器,所以源码安装肯定是不行的啦. 后来在终端(ctrl+alt+t)里输入 ...

  4. linux gcc 安装目录,Linux下安装GCC

    为了在Ubuntu下安装那令人悲催的GCC,小弟可是绞尽脑汁,连干三天...当我搞清楚那些破软件m4,gmp mpfr,mpc等之间的依赖关系,依照强大的度娘提示下,安装了一遍又一边一边又一边···· ...

  5. 详解linux下安装python3环境

    1.下载python3.5源码包 首先去python官网下载python3的源码包,网址:https://www.python.org/ 进去之后点击导航栏的Downloads,也可以鼠标放到Down ...

  6. go系列(1)- linux下安装go环境

    安装GO 打开安装包下载地址,查看linux下go的最新版本 https://golang.google.cn/dl/ 经查看go的最新版本为go1.11.4.linux-amd64.tar.gz 右 ...

  7. Linux下安装Go环境

    登录Linux Mac或Linux的用户可以用命令ssh root@xxx.xxx.xxx.xxx登录主机 Window的用户可以使用SecureCRT登录主机 虚拟机用户直接打开你的虚拟机 安装Go ...

  8. linux下安装gcc及设置多版本gcc多版本共存(如果enable静态库,会报错,不知道为什么,忽略静态库就没问题了)...

    背景:1.在做文本挖掘的时候,安装"结巴"算法包,需要gcc版本>4.6,但是不知道是不是有内核或其他东西是gcc低版本支持的,只好安装多版本: 2.linux版本:Red ...

  9. 【Linux】Linux下安装gcc/g++

    Linux一般是没有C和C++编译环境的,需要手动安装. CentOS安装gcc/g++ 1.用Linux的人应该知道下面一句话什么意思: sudo -i 2.安装gcc: yum install g ...

  10. Linux下安装jdk环境

    话不多说,直接开干. 如果没有linux下jdk安装包的 openjdk下载地址: 链接:https://pan.baidu.com/s/1_8IwI81rtH1j7fRXcyToGw  提取码:1q ...

最新文章

  1. 详解:Camera-IMU内外参标定原理
  2. 程序员哀叹:专科都是ji's万的年薪,互联网的泡沫要破了
  3. 初中数学分几个模块_【初中数学】8大模块61个必考易错知识点!
  4. C语言中用栈实现进制转换,利用栈实现进制转换问题
  5. mysql忘记密码的处理方法
  6. c语言将0到1十等分放入数组,C语言课程设题计目汇总.doc
  7. nginx 全局配置
  8. 2018 蓝桥杯省赛 A 组模拟赛(一)数列求值+推导
  9. webkit中对incomplete type指针的处理技巧
  10. 《剑指offer》第五十三题(数组中数值和下标相等的元素)
  11. 零基础 Amazon Web Services (AWS) 入门教程图文版(二)
  12. Grafana WebHook 报警通知踩坑系列,支持报警截图发钉钉卡片报警!!!
  13. JAVA基础自学笔记整理(一)某些数据类型的姿势
  14. freescale 基于arm m0的单片机
  15. cad放大_如何把CAD图纸转为高清图片?教你两种方法,小白也能轻松学会
  16. 2020年生肖码表图_2020年生肖排位表 鼠年号码岁数表
  17. 如何模拟地震、噪音、颠簸路面激励下的不确定性振动行为?
  18. linux网络不通检查方法
  19. PyCharm2017破解教程
  20. 硬盘分区大学计算机,这是一所大学. 问: 如何对3TB硬盘进行分区?

热门文章

  1. (Kinetis K60) FTM输出PWM
  2. 【转载】来自架构师的建议
  3. cvSplit(),cv图像颜色通道分割和融合
  4. 选择目录或选择文件(PyQt或Qt for python)
  5. Java中的package、import、import static
  6. python熊猫烧香_熊猫烧香完整源代码
  7. 线性代数及其应用(原书第5版)
  8. sqlserver安装目录_SQL 2008R2安装教程
  9. 16-微信小程序商城 购物车首页底部菜单(微信小程序商城开发、小程序毕业设计、小程序源代码)(黄菊华-微信小程序开发教程)
  10. MATLAB实现一个简单的车牌识别小程序