您好,欢迎访问三七文档
Gcc编译与安装(robinjun)1下载在GCC网站上()或者通过网上搜索可以查找到下载资源。目前GCC的最新版本为4.2.1。可供下载的文件一般有两种形式:gcc-4.1.2.tar.gz和gcc-4.1.2.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。我安装下载的版本是gcc-4.6.1.tar.bz22.解压缩拷贝gcc-4.1.2.tar.bz2(我下载的压缩文件)到/usr/local/src(根据自己喜好选择)下,根据压缩格式,选择下面相应的一种方式解包(以下的“%”表示命令行提示符):%tarzxvfgcc-4.1.2.tar.gz或者%bzcatgcc-4.1.2.tar.bz2|tarxvf-新生成的gcc-4.1.2这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。我解压后的路径为/home/gcc-4.6.1截图如下:3.建立目标目录目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。例如,可以这样建立一个叫/usr/local/gcc-4.1.2的目标目录:%mkdir/usr/local/gcc-4.1.2%cdgcc-4.1.2以下的操作主要是在目标目录${objdir}下进行。(否则会出错,后面有解释)我的目标目录是/usr/local/gcc-4.6.1截图如下:(初始时目录下为空)4.配置4.1正常情况配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):%${srcdir}/configure--prefix=${destdir}[其它选项](实际:/home/gcc-4.6.1/configure--prefix=/usr/local/gcc-4.6.1[其它选项])例如,如果想将GCC4.1.2安装到/usr/local/gcc-4.1.2目录下,则${destdir}就表示这个路径。在我的机器上,我是这样配置的:%../gcc-4.1.2/configure--prefix=/usr/local/gcc-4.1.2--enable-threads=posix--disable-checking--enable--long-long--host=i386-redhat-linux--with-system-zlib--enable-languages=c,c++,java(实际:/home/gcc-4.6.1/configure--prefix=/usr/local/gcc-4.6.1-enable-threads=posix-disable-checking-disable-multilib-enable-languages=c,c++,java--with-gmp=/usr/local/gmp-4.3.2--with-mpfr=/usr/local/mpfr-2.4.2--with-mpc=/usr/local/mpc-0.8.1)将GCC安装在/usr/local/gcc-4.1.2目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。4.1异常处理如果执行这步的时候出现了如下错误:----------------------------------------------------------------------------------[root@rekfan.comgcc-4.6.1]#/opt/gcc-4.6.1/configure--prefix=/usr/local/gcc-4.6.1/checkingbuildsystemtype…i686-pc-linux-gnucheckinghostsystemtype…i686-pc-linux-gnucheckingtargetsystemtype…i686-pc-linux-gnucheckingforaBSD-compatibleinstall…/usr/bin/install-ccheckingwhetherlnworks…yescheckingwhetherln-sworks…yescheckingforasedthatdoesnottruncateoutput…/bin/sedcheckingforgawk…gawkcheckingforgcc…nocheckingforcc…nocheckingforcl.exe…noconfigure:error:in`/usr/local/gcc-4.6.1':configure:error:noacceptableCcompilerfoundin$PATHSee`config.log'formoredetails.----------------------------------------------------------------------------------上面错误说明$PATH里没有找到C的编译器如果系统有gcc编译器,那就设置下环境变量比如:exportPATH=$PATH:/usr/local/bin如果没有找到那么先安装gcc低版本的rpm包插入linux软件盘(一般在第一张或第二张),挂载光盘,按下面顺序依次安装:[root@rekfan.comopt]#rpm-ivhcpp-4.1.2-48.el5.i386.rpm[root@rekfan.comopt]#rpm-ivhkernel-headers-2.6.18-194.el5.i386.rpm[root@rekfan.comopt]#rpm-ivhglibc-headers-2.5-49.i386.rpm[root@rekfan.comopt]#rpm-ivhglibc-devel-2.5-49.i386.rpm[root@rekfan.comopt]#rpm-ivhlibgomp-4.4.0-6.el5.i386.rpm[root@rekfan.comopt]#rpm-ivhgcc-4.1.2-48.el5.i386.rpm重复步骤4,又有新错误了,下面是部分错误代码!如果没有错误,直接跳到步骤6!----------------------------------------------------------------------------------configure:error:BuildingGCCrequiresGMP4.2+,MPFR2.3.1+andMPC0.8.0+.Trythe--with-gmp,--with-mpfrand/or--with-mpcoptionstospecifytheirlocations.----------------------------------------------------------------------------------错误说明要安装gcc需要GMP、MPFR、MPC这三个库,可从下载相应的压缩包。由于MPFR依赖GMP,而MPC依赖GMP和MPFR,所以要先安装GMP,其次MPFR,最后才是MPC。这里三个库我用的版本分别是gmp4.3.2,mpfr2.4.2和mpc0.8.1,都放在/opt文件夹下。(已作为资源上传至我的资源了,下载解压即可)①.安装gmp4.3.2[root@rekfan.comopt]#tarjxvfgmp-4.3.2.tar.bz2[root@rekfan.comopt]#mkdir/usr/local/gmp-4.3.2[root@rekfan.comopt]#cd/usr/local/gmp-4.3.2[root@rekfan.comgmp-4.3.2]#/opt/gmp-4.3.2/configure--prefix=/usr/local/gmp-4.3.2[root@rekfan.comgmp-4.3.2]#make(编译)[root@rekfan.comgmp-4.3.2]#makeinstall(执行安装)②安装mpfr2.4.2[root@rekfan.comopt]#tarjxvfmpfr2.4.2.tar.bz2[root@rekfan.comopt]#mkdir/usr/local/mpfr-2.4.2[root@rekfan.comopt]#cd/usr/local/mpfr-2.4.2[root@rekfan.commpfr-2.4.2]#/opt/mpfr-2.4.2/configure--prefix=/usr/local/mpfr-2.4.2--with-gmp=/usr/local/gmp-4.3.2(注意配置的时候要把依赖关系选项加进去)[root@rekfan.commpfr-2.4.2]#make[root@rekfan.commpfr-2.4.2]#makeinstall③安装mpc0.8.1[root@rekfan.comopt]#tarjxvfgmpc0.8.1.tar.bz2[root@rekfan.comopt]#mkdir/usr/local/mpc-0.8.1[root@rekfan.comopt]#cd/usr/local/mpc-0.8.1[root@rekfan.commpc-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/mpfr-2.4.2[root@rekfan.commpc-0.8.1]#make[root@rekfan.commpc-0.8.1]#makeinstall④再次安装GCC配置安装选项[root@rekfan.commpc-0.8.1]#cd/usr/local/gcc-4.6.1[root@rekfan.comgcc-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.1我的操作如下:------------------------------------------------------------------------------------------/home/gmp-4.3.2/configure--prefix=/usr/local/gmp-4.3.2make(编译)makeinstall(执行安装)/home/mpfr-2.4.2/configure--prefix=/usr/local/mpfr-2.4.2--with-gmp=/usr/local/gmp-4.3.2make(编译)makeinstall(执行安装)/home
本文标题:Gcc编译与安装
链接地址:https://www.777doc.com/doc-2873536 .html