




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
安装GCC-4.6.1详细教程一、什么是GccLinux系统下的Gcc(GNU C Compiler)是GNU推出的功能强大、性能优越的多平台编译器,是GNU的代表作品之一。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比平均效率要高20%30%。Gcc编译器能将C、C+语言源程序、汇程式化序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字,gcc将生成一个名为a.out的文件。在Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。二、gcc所遵循的部分约定规则前面提到便宜的后缀问题,而gcc则通过后缀来区别输入文件的类别,下面我们来介绍gcc所遵循的部分约定规则。.c为后缀的文件,C语言源代码文件;.a为后缀的文件,是由目标文件构成的档案库文件;.C或.cc或.cxx为后缀的文件,是C+源代码文件;.h为后缀的文件,是程序所包含的头文件;.i为后缀的文件,是已经预处理过的C源代码文件;.ii为后缀的文件,是已经预处理过的C+源代码文件;.m为后缀的文件,是Objective-C源代码文件;.o为后缀的文件,是编译后的目标文件;.s为后缀的文件,是汇编语言源代码文件;.S为后缀的文件,是经过预编译的汇编语言源代码文件。三、Gcc的执行过程虽然我们称Gcc是C语言的编译器,但使用gcc由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。命令gcc首先调用cpp进行预处理,在预处理过程中,对源代码文件中的文件包含(include)、预编译语句(如宏定义define等)进行分析。接着调用cc1进行编译,这个阶段根据输入文件生成以.o为后缀的目标文件。汇编过程是针对汇编语言的步骤,调用as进行工作,一般来讲,.S为后缀的汇编语言源代码文件和汇编、.s为后缀的汇编语言文件经过预编译和汇编之后都生成以.o为后缀的目标文件。当所有的目标文件都生成之后,gcc就调用ld来完成最后的关键性工作,这个阶段就是连接。在连接阶段,所有的目标文件被安排在可执行程序中的恰当的位置,同时,该程序所调用到的库函数也从各自所在的档案库中连到合适的地方。四、Gcc的基本用法和选项在使用Gcc编译器的时候,我们必须给出一系列必要的调用参数和文件名称。Gcc编译器的调用参数大约有100多个,其中多数参数我们可能根本就用不到,这里只介绍其中最基本、最常用的参数Gcc最基本的用法是gccoptions filenames ,其中options就是编译器所需要的参数,filenames给出相关的文件名称。五、Gcc的参数选项-c,只编译,不连接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件。-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。-g,产生符号调试工具(GNU的gdb)所必要的符号资讯,要想对源代码进行调试,我们就必须加入这个选项。-O,对程序进行优化编译、连接,采用这个选项,整个源代码会在编译、连接过程中进行优化处理,这样产生的可执行文件的执行效率可以提高,但是,编译、连接的速度就相应地要慢一些。-O2,比-O更好的优化编译、连接,当然整个编译、连接过程会更慢。-Idirname,将dirname所指出的目录加入到程序头文件目录列表中,是在预编译过程中使用的参数。六、Gcc的安装方法运行环境:VMware? Workstation 7.1.2 build-301548Linux版本:Red Hat Enterprise Linux 5.5kernel版本:Linux kernel 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux注意:因为wordpress转义的问题:可能会导致下面的-翻译成,大家在试验的时候不要复制上面的代码自己手动敲写,比如prefix,with-gmp,with-mpfr,with-mpc前都是两个 -1.下载gcc-4.6.1安装包gcc各版本浏览地址:/gnu/gcc/gcc-4.6.1浏览地址:/gnu/gcc/gcc-4.6.1/gcc-4.6.1下载地址:/gnu/gcc/gcc-4.6.1/gcc-4.6.1.tar.bz22.将gcc-4.6.1.tar.bz2放到/opt文件夹下解压 #cd / opt#tar xjvf gcc-4.6.1.tar.bz23.创建安装目录 opt#mkdir /usr/local/gcc-4.6.1/4.进入安装目录 opt#cd /usr/local/gcc-4.6.1/5.配置安装文件 gcc-4.6.1#/opt/gcc-4.6.1/configure -prefix=/usr/local/gcc-4.6.1(执行源目录 /opt/gcc-4.6.1/中的configure命令,配置将gcc安装到目标目录/usr/local/gcc-4.6.1/下,这里prefix选项代表要将该库安装在哪里,我是装在/usr/local/gcc-4.6.1目录下,后面的安装都会用到这个选项)如果执行这步的时候出现了如下错误:- gcc-4.6.1# /opt/gcc-4.6.1/configure -prefix=/usr/local/gcc-4.6.1/checking build system type i686-pc-linux-gnuchecking host system type i686-pc-linux-gnuchecking target system type i686-pc-linux-gnuchecking for a BSD-compatible install /usr/bin/install -cchecking whether ln works yeschecking whether ln -s works yeschecking for a sed that does not truncate output /bin/sedchecking for gawk gawkchecking for gcc nochecking for cc nochecking for cl.exe noconfigure: error: in /usr/local/gcc-4.6.1:configure: error: no acceptable C compiler found in $PATHSee config.log for more details.-上面错误说明$PATH里没有找到C的编译器如果系统有gcc编译器,那就设置下环境变量比如:export PATH=$PATH:/usr/local/bin如果没有找到那么先安装gcc低版本的rpm包插入linux软件盘(一般在第一张或第二张),挂载光盘,按下面顺序依次安装: opt#rpm -ivh opt#rpm -ivh opt#rpm -ivh opt#rpm -ivh opt#rpm -ivh opt#rpm -ivh gcc-4.1.2-48.el5.i386.rpm重复步骤5,又有新错误了,下面是部分错误代码 !如果没有错误,直接跳到步骤7 !-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 specifytheir locations.-错误说明要安装gcc需要GMP、MPFR、MPC这三个库,可从/pub/gcc/infrastructure/下载相应的压缩包。由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。这里三个库我用的版本分别是gmp4.3.2,mpfr2.4.2和mpc0.8.1,都放在 /opt文件夹下。.安装 opt# tar jxvf opt# mkdir /usr/local/ opt# cd /usr/local/ gmp-4.3.2#/opt/gmp-4.3.2/configure -prefix=/usr/local/ gmp-4.3.2# make (编译) gmp-4.3.2# make install (执行安装)安装 opt# tar jxvf opt# mkdir /usr/local/ opt# cd /usr/local/ mpfr-2.4.2#/opt/mpfr-2.4.2/configure -prefix=/usr/local/mpfr-2.4.2 -with-gmp=/usr/local/gmp-4.3.2(注意配置的时候要把依赖关系选项加进去) mpfr-2.4.2# mpfr-2.4.2# make install安装 opt# tar jxvf opt# mkdir /usr/local/ opt# cd /usr/local/ mpc-0.8.1#/opt/mpc-0.8.1/configure -prefix=/usr/local/mpc-0.8.1 -with-gmp=/usr/local/gmp-4.3.2 -with-mpfr=/usr/local/ mpc-0.8.1# mpc-0.8.1# make install再次安装GCC 配置安装选项 mpc-0.8.1# cd /usr/local/ gcc-4.6.1#/opt/gcc-4.6.1/configure -prefix=/usr/local/gcc-4.6.1 -enable-threads=posix -disable-checking -disable-multilib -enable-languages=c,c+ -with-gmp=/usr/local/gmp-4.3.2 -with-mpfr=/usr/local/mpfr-2.4.2 -with-mpc=/usr/local/mpc-0.8.16.编译安装文件 gcc-4.6.1#make大概需要1个小时左右,喝杯coffee,慢慢等待吧!一个小时后第二个错误出现了:打开/usr/local/gcc-4.6.1/i686-pc-linux-gnu/libgcc/config.logctrl+f查找error 发现如下错误/-/usr/local/gcc-4.6.1/./gcc/cc1: error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directoryconfigure:3058: $? = 1-/在网上找到了解决方法,需要添加环境变量LD_LIBRARY_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《科学应对自然灾害》(教学设计)安徽大学版六年级上册综合实践活动
- 文化创意产品开发资金申请报告:2025年创新模式与产业升级分析
- 服装档口经营知识培训总结
- 8.5 黄土高原的区域发展与居民生活 说课稿-2025-2026学年八年级地理下学期湘教版
- 第六单元《表达要得体》说课稿2024-2025学年统编版语文八年级上册
- 第1节 电场力做功与电势能教学设计-2025-2026学年高中物理鲁科版选修3-1-鲁科版2004
- 西餐礼仪课件
- 消防理论知识培训简报课件
- 消防物资使用培训课件
- 2025年水煤浆行业需求分析及创新策略研究报告
- 京东集团员工手册-京东
- 成人癌性疼痛护理-中华护理学会团体标准2019
- 初中语文学习方法指导
- 2023年苏州市星海实验中学小升初分班考试数学模拟试卷及答案解析
- GB/T 23483-2009建筑物围护结构传热系数及采暖供热量检测方法
- GB/T 22237-2008表面活性剂表面张力的测定
- 股指期权风险管理
- 《电业安全工作规程》
- 发证机关所在地区代码表
- 过去分词公开课--完整版PPT课件
- 书法的章法布局(完整版)
评论
0/150
提交评论