1、在fedora9中安装gcc4.3.4和gcc4.1.2,出现:

mpfr和gmp错误,中止。其实gmp check并没有错。只有mpfr check出错,只缺少一个mpfr.h文件,在网上下载mpfr-2.3.0.tar.bz2 解压出mpfr.h放到/usr/lib/里就行了。

范例看下面:

1. 下载

在GCC网站上(http://gcc.gnu.org/)或者通过网上搜索可以查找到下载资源。目前GC

C的最新版本为3.4.0。可供下载的文件一般有两种形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,

只是压缩格式不一样,内容完全一致,下载其中一种即可。

2. 解压缩

根据压缩格式,选择下面相应的一种方式解包(以下的"%"表示命令行提示符):

% tar xzvf gcc-3.4.0.tar.gz

或者

% bzcat gcc-3.4.0.tar.bz2 | tar xvf -

新生成的gcc-3.4.0这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir

}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。

在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。

3. 建立目标目录

目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要

放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不

能是${srcdir}的子目录。

例如,可以这样建立一个叫 gcc-build

的目标目录(与源目录${srcdir}是同级目录):

% mkdir gcc-build

% cd gcc-build

以下的操作主要是在目标目录 ${objdir} 下进行。

4. 配置

配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指

定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。

配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路

径替换${destdir}):

% ${srcdir}/configure --prefix=${destdir} [其它选项]

例如,如果想将GCC

3.4.0安装到/usr/local/gcc-3.4.0目录下,则${destdir}就表示这个路径。

在我的机器上,我是这样配置的:

% ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0

--enable-threads=posix --disable-checking --enable--long-long --with-system-zlib --enable-languages=c,c++,java

将GCC安装在/usr/local/gcc-3.4.0目录下,支持C/C++和JAVA语言,其它选项参见GCC

提供的帮助说明。

5. 编译

% make

这是一个漫长的过程。在我的机器上(P4-1.6),这个过程用了50多分钟。

6. 安装

执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可

能需要管理员的权限):

% make install

至此,GCC 3.4.0安装过程就完成了。

6. 其它设置

GCC

3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存

放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和

库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才

能顺利地找到并使用它们。

6.1 gcc、g++、gcj的设置

要想使用GCC

3.4.0的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不

用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧

版本的GCC编译器。

首先,查看原来的gcc所在的路径:

% which gcc

在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录

下。我们可以把GCC

3.4.0中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:

% cd /usr/bin

% ln -s ${destdir}/bin/gcc gcc34

% ln -s ${destdir}/bin/g++ g++34

% ln -s ${destdir}/bin/gcj gcj34

这样,就可以分别使用gcc34、g++34、gcj34来调用GCC

3.4.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GC

C编译器中的gcc、g++等命令。

6.2 库路径的设置

将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文

件中,这样就不必要每次都设置这个环境变量了。

例如,如果GCC 3.4.0安装在/usr/local/gcc-3.4.0目录下,在RH

Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:

setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH

7. 测试

用新的编译命令(gcc34、g++34等)编译你以前的C、C++程序,检验新安装的GCC编译

器是否能正常工作。

8. 根据需要,可以删除或者保留${srcdir}和${objdir}目录。

后记:

前两天刚安装好了GCC 3.4.0,把安装规划、安装过程、一些注意事项记录下来就形成了这篇文章。希望对大家、 特别是还没有安装过GCC的朋友在安装GCC的时候有所帮助。

linux gcc 安装方法,GCC安装方法 (Linux)相关推荐

  1. 【linux】Rehat/centOS 离线安装软件(如gcc)的方法

    目录 方法一.源码安装or安装rpm包 方法二.下载rpm包安装 离线安装软件 原理: 实例 注意 CentOS7 离线安装 GCC 9.2.0 linux编译安装软件会遇到依赖各种库,离线的情况下处 ...

  2. 虚拟机中的Linux安装VMware Tools的方法

    先检查虚拟机是否能上网 一:安装VMware Tools的之前必装的工具套件方法如下: Centos安装VMware Tools: [root@piaoyun-vm vmware-tools-dist ...

  3. Linux软件安装的几种方法 (三)—— 源码安装

    [摘要] Linux系统上安装软件的方法和在windows上安装软件是有很大不同的,有时候Linux上安装软件碰到各种依赖不满足,是极为头疼的事情,下面盘点一下Linux上安装软件的几种方法,笔者基本 ...

  4. 红帽 linux 安装gns3,在Arch Linux和Manjaro系统上安装GNS3的方法

    本文介绍在Arch Linux和Manjaro系统上安装GNS3的方法,适合所有基于Arch Linux的发行版.我们还将为Gns3创建一个启动器,适用于KDE.Gnome 3和Linux上其它桌面环 ...

  5. linux下如何安装自带编译器的codeblocks,在Ubuntu 16.04系统中使用PPA源安装Code Blocks的方法...

    本文介绍在Ubuntu 16.04操作系统中使用PPA源安装Code Blocks的方法,可以先参考在Ubuntu系统中安装Code::Blocks的方法一文. 使用PPA源安装Code Blocks ...

  6. linux安装gcc命令步骤(centos安装gcc命令)

    linux安装gcc命令步骤(centos安装gcc命令) >一.前言 本文介绍在CentOS7.8系统下使用YUM升级GCC版本的相关操作步骤. CentOS7默认安装的gcc版本是4.8版本 ...

  7. Linux Centos下软件的安装与卸载方法

    参考文档https://blog.csdn.net/zolalad/article/details/11368879 linux下软件的安装与卸载 第一章 linux下安装软件,如何知道软件安装位置 ...

  8. Linux 环境下安装 gcc 详细过程 以及安装 glibc

    1.了解一下 gcc 目前,GCC可以用来编译C / C++.FORTRAN.Java.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言. 在安装之前,系统必须有 cc 或者 gcc 的编译 ...

  9. linux安装软件程序(Debian【aptitude】、Red Hat系统【yum】、源代码安装)————附带详细方法

    安装软件程序 文章目录 安装软件程序 0 总结 1 包管理基础 2 基于Debian 的系统 2.1 使用`aptitude` 3 基于Red Hat 的系统 3.1 使用 4 源码安装 0 总结 l ...

最新文章

  1. 计算机桌面分页,电脑word文档怎么快速分页?
  2. 定制Eclipse IDE之插件篇(一)
  3. 【Java基础】四种Java引用类型
  4. PHP中一些有用的函数
  5. CSharpGL(49)试水OpenGL软实现
  6. 语法和c区别_史冠新 | 汉语语法单位辨正
  7. VS2008操作PPT
  8. sql mysql assoc和row_mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
  9. 您如何获得JavaScript时间戳?
  10. MFC控件(三)(进度条控件和滑块控件)
  11. VS2019配置opencv教程【推荐】
  12. 鸿蒙系统分布式操作,如何通俗解释鸿蒙系统分布式操作
  13. fid fopen MATLAB
  14. Python 爬虫爬取奥运奖牌榜数据
  15. 1389: 程序员PIPI II
  16. Correct way to wait for VBLANK on windows 10 in windowed mode
  17. 深入理解Android相机体系结构
  18. vuejs crc算法,16进制换算
  19. MySQL的异步、半异步、组复制
  20. 文旅部、国家发改委等十部门:推广旅游电子合同使用

热门文章

  1. 学计算机专业开学要买笔记本电脑吗,大一新生刚开学,有必要带电脑吗?辅导员给出的建议很中肯...
  2. 怪兽充电们的钱途难题,IPO来解?
  3. Android 性能优化 - 彻底解决内存泄漏
  4. fiddler4提取荣耀Pro机顶盒请求链接
  5. markdown画流程图,流程图语法
  6. CF1557C Moamen and XOR
  7. 八月25日8点半服务器维修,8月26日服务器例行维护公告(已完成)
  8. ORA-01555: snapshot too old: rollback segment number with name too smal
  9. [Web前端工具篇]Sublime 3安装Markdown插件
  10. js如何最有效的判断图片类型