ºìÁªLinuxÃÅ»§
Linux°ïÖú

GCC install

·¢²¼Ê±¼ä:2006-09-27 00:41:35À´Ô´:ºìÁª×÷Õß:½£soho
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
¡¡¡¡ÒÔϵIJÙ×÷Ö÷ÒªÊÇÔÚÄ¿±êĿ¼ ${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.1/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}Ŀ¼¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 2 ÌõÆÀÂÛ

  1. qazx ÓÚ 2006-10-12 02:43:09·¢±í:

    ÎÒ½ñÌìÕý±»Õâ¸ö¸ö¶«¶«·¢ÔÎÁË~


    ¾Í¿´µ½Õâ¸ö~ÁË~

    ºÃ°¡~~~~~~~~~~~~~~~:0)1

  2. yorktown ÓÚ 2006-10-03 19:58:30·¢±í:

    Ñ©ÖÐËÍ̼