关于尚观
最新课程体系
企业服务
零起点咨询
开放课程
报名咨询
免费资源申请
授权加盟
学员专区&薪资
认证课程
  • 尚观首页
  • 尚观简介
  • 师资力量
  • 尚观文化
  • 尚观动态
  • 加入尚观
  • 联系我们
  • 珍贵瞬间
  • Linux系统与集群
  • 数据库集群架构师
  • 嵌入式内核驱动开发
  • 服务器开发架构师
  • 研发型测试架构师
  • RHCE/LPI认证体系
  • Oracle OCP认证
  • 企业高级技术培训
  • 批量人才供应及研发团队建设
  • 软件外包及研发项目合作
  • 人力外包及人力供应
  • 猎头服务
  • 开启职业生涯
  • 如何入门
  • Unix/Linux职业方向
  • 嵌入式职业方向
  • 集群(Cluster)Oracle(DBA)方向
  • 新手专栏
  • Unix/Linux新手专栏
  • Unix/Linux管理
  • 嵌入式及POSIX开发
  • Linux开源文化及市场
  • 最近网络课堂
  • P2P教学视频
  • 精彩Linux培训视频
  • 零起点数据库集群(长期)
  • 嵌入式驱动(长期)
  • Linux金牌三证(RHCE级)
  • Linux架构师(RHCA级)
  • 嵌入式/驱动加速课程
  • 其他咨询
  • Linux免费网络安全公开课
  • 免费Linux资料申请
  • 免费Linux安全&DDOS防御课程
  • 免费嵌入式Linux开发课程
  • 免费Linux网络安全机制
  • 授权加盟&报名点申请
  • 如何加盟
  • 我们的优势
  • 成功案例
  • 行业市场分析
  • 授权加盟中心
  • 学员毕业薪资(不断更新中)
  • 加入尚观猎头服务(仅限老学员)
  • 学员交流论坛
  • OCP认证
  • Intel认证
  • RHCE认证
  • RHCE+OCP
  • RHCE+LPI


    您现在的位置:尚观Linux培训 - 嵌入式Linux培训专家尚观Linux培训 » UNIX/Linux新手专栏 » Linux上安装GCC编译器过程

Linux上安装GCC编译器过程

 
咨询热线
  • 免费咨询电话:
    400-700-0056
    800-810-0056

    教学就业监督电话:
    400-810-3016
  • QQ在线咨询:
    517589021 在线咨询
    82555789 在线咨询
    962895738 在线咨询


  • MSN在线咨询:
    upadv05@hotmail.com
    upadv20@hotmail.com
免费资源
  • -3月13日
  • [沈阳]Linux嵌入式-3月20日
  • [上海]DDos攻防-3月20日
  • [上海]Linux嵌入式-3月13日
  • [深圳]DDos攻防-3月20日
  • [深圳]Linux嵌入式-3月13日
  • [北京]DDos攻防-3月13日
五万年薪就业保证课程
  • UTA-高级研发型测试架构师
  • UDA-Linux服务器开发架构师
  • UEA-嵌入式内核驱动开发者
  • UOA-Oracle数据库集群架构
  • ULA-Linux系统与集群架构师
八万年薪就业保证课程
  • UOM- Oracle集群大师
  • UEM-嵌入式开发大师
Linux培训●最新开班
  • [沈阳]UEA课程3月班热招!
  • [沈阳]ULA课程3月班热招!
  • [北京]UEA课程3月班热报!
  • [北京]UOA/ULA课程1月班!
  • [上海]UEA课程3月班热招!
  • [上海]ULA/UOA课程1月班!
  • [深圳]UEA课程3月班热招!
  • [深圳]ULA/UOA课程1月班!
 
文章内容
  •    2004年4月20日最新版本的GCC编译器3.4.0发布了。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。GCC 3.4.0比以前版本更好地支持了C++标准。本文以在Redhat Linux安装GCC3.4.0为例,介绍了GCC的安装过程。

      安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源代码形式的GCC 3.4.0。如果是这种情况,可以在网上找一个与你系统相适应的如RPM等二进制形式的GCC软件包来安装使用。本文介绍的是以源代码形式提供的GCC软件包的安装过程,软件包本身和其安装过程同样适用于其它Linux和Unix系统。

      系统上原来的GCC编译器可能是把gcc等命令文件、库文件、头文件等分别存放到系统中的不同目录下的。与此不同,现在GCC建议我们将一个版本的GCC安装在一个单独的目录下。这样做的好处是将来不需要它的时候可以方便地删除整个目录即可(因为GCC没有uninstall功能);缺点是在安装完成后要做一些设置工作才能使编译器工作正常。在本文中我采用这个方案安装GCC 3.4.0,并且在安装完成后,仍然能够使用原来低版本的GCC编译器,即一个系统上可以同时存在并使用多个版本的GCC编译器。

      按照本文提供的步骤和设置选项,即使以前没有安装过GCC,也可以在系统上安装上一个可工作的新版本的GCC编译器。

      1. 下载

      在GCC网站上(http://gcc.gnu.org/)或者通过网上搜索可以查找到下载资源。目前GCC的最新版本为 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 --host=i386-redhat-linux --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程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的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视频,免费先学!

    查看:尚观Linux培训学员最新就业薪资待遇统计报告!

    查看:UTA-高级研发型测试架构师大纲
    查看:UDA-Linux服务器开发架构师大纲
    查看:UEA-嵌入式内核驱动开发者大纲
    查看:UOA-Oracle数据库集群架构大纲
    查看:ULA-Linux系统与集群架构师大纲

    填表获取 Linux、嵌入式、Oracle 技术资料

  • 姓    名:
  • 固    话:
  • 手    机:
  • E-Mail :
  • 所在地:
  •         

北京(Beijing)

电子地图
电话:(010)62113016/17 68949060
地址:北京市 海淀区中关村南大街 甲10号 银海大厦南区410-418

上海(Shanghai)

电子地图
电话:(021)54510580 54070058
报名:徐汇区 华山路2088号 汇银广场南楼1307室
校区:漕河泾开发区 钦江路333号38号3楼

深圳(Shenzhen)

电子地图
电话:(0755)82995128 82995168
地址:深圳市 福田区 彩田路 中深花园B2005室

沈阳(Shenyang)

电子地图
电话:(024)31500816 31500817
地址:沈阳市和平区三好街54号物产科贸大厦2号楼201室

成都(Chengdu)

电子地图
电话:(028)66677820 66677828 66677829
地址:成都市青羊区上西顺城街252号顺吉大厦8楼A3


2005-2009高新技术企业

LPI授权培训考试中心

国家紧缺人才培养工程合作伙伴

CSDN战略伙伴

51Job战略伙伴

Oracle WDP授权培训与考试中心

Intel软件服务培训供应商

Redhat授权培训与考试中心

国家高新技术企业认证
 

友情链接:   LPI  RedHat  CSDN  ChinaUnix  ITPub  Eygle.Com  PHP中国  嵌入式世界  Linux培训  嵌入式培训  嵌入式在线  oklinux 
Linux联盟  Linux中国  Unix爱好者家园  ZOL服务器  php爱好者  看看Linux  嵌入式技术网  虚拟主机评测  大功率LED网   搜电网   深圳公交查询   杭州写字楼网  互联网百科  苏州人才网  Linux技术中心  泉州人才网  广州招聘网  天天健康  上海商铺  北京赶集网  SVN中文技术网  中国别墅网  网罗天下  工具软件下载  Oracle视频教程  北京法律咨询  天津赶集网  嵌入式资讯网  天极导航  Fedora中文爱好者 (申请友情链接请发信至:info#uplooking.com)


COPYRIGHT © 2000-2009 北京尚观科技有限公司 - Linux培训及嵌入式培训专家 ALL RIGHTS RESERVED

咨询热线:400-700-0056    800-810-0056
京ICP备05058027号 | Linux就业信息 | 免责声明 |