一、準(zhǔn)備工作
(做完才發(fā)現(xiàn):聯(lián)網(wǎng)的話,這步可以先跳過(guò),直接進(jìn)入下一步安裝gcc):
首先 gcc 編譯需要三個(gè)額外庫(kù),下載并按照下面的順序安裝它們,如下:1. mpfr http://ftp.gnu.org/gnu/mpfr/2. gmp http://ftp.gnu.org/gnu/gmp/3. mpc http://ftp.gnu.org/gnu/mpc/1. 編譯安裝 gmp# wget http://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.lz# yum -y install lzip#lzip -d gmp-6.1.2.tar.lz# tar -xvf gmp-6.1.2.tar# cd gmp-6.1.2# ./configure# make && make install2. 編譯安裝 mpfr# wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.5.tar.gz# tar -zxvf mpfr-3.1.5.tar.gz# cd mpfr-3.1.2# ./configure# make && make install 3. 編譯安裝 mpc# wget http://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz# tar -zxvf mpc-1.0.3.tar.gz# cd mpc-1.0.3# ./configure# make && make install二、安裝gcc:
1.首先下載源代碼# wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.bz22.解壓# tar -jxvf gcc-4.9.2.tar.bz23.下載編譯所需的依賴項(xiàng)# cd gcc-4.9.2 # ./contrib/download_PRerequisites # cd .. 4.建立編譯輸出目錄# mkdir gcc-build-4.9.2 5.進(jìn)入此目錄,執(zhí)行以下命令,生成makefile文件# cd gcc-build-4.9.2# ../gcc-4.9.2/configure --enable-checking=release --enable-languages=c,c++ --disable-multilibgcc 編譯參數(shù)說(shuō)明:--enable-languages //指定 gcc 能編譯哪些語(yǔ)言的文件,每種語(yǔ)言用逗號(hào)分隔, 例如 c,c++,java--disable-multilib //默認(rèn)gcc 能在32位系統(tǒng)上將代碼編譯成64位程序,或者在64位系統(tǒng)上編譯成32位程序,如果加上這個(gè)編譯選項(xiàng)則表示關(guān)閉這個(gè)gcc的交叉編譯功能。 6.執(zhí)行以下命令進(jìn)行編譯# make -j2 //機(jī)器是雙核,故用j2能加快編譯速度7、安裝:# make install8、指定版本:現(xiàn)在gcc4.9.2安裝完成了,但是gcc4.8.2的環(huán)境變量還沒(méi)有設(shè)置,系統(tǒng)中使用的還是舊版的gcc。剛剛我們把gcc4.9.2安裝在/usr/local/bin/gcc-4.9.4下,如果不知道的話可以通過(guò)下邊這步查找一下。確定新安裝的GCC的路徑,可以先updatedb,然后locate gcc-4.9 |tail找一下。[root@bogon gcc-build-4.9.2]# updatedb[root@bogon gcc-build-4.9.2]# locate gcc-4.9 |tail/usr/local/bin/gcc-4.9.4/share/man/man7/fsf-funding.7/usr/local/bin/gcc-4.9.4/share/man/man7/gfdl.7/usr/local/bin/gcc-4.9.4/share/man/man7/gpl.7/usr/local/share/gcc-4.9.2/usr/local/share/gcc-4.9.2/python/usr/local/share/gcc-4.9.2/python/libstdcxx/usr/local/share/gcc-4.9.2/python/libstdcxx/__init__.py/usr/local/share/gcc-4.9.2/python/libstdcxx/v6/usr/local/share/gcc-4.9.2/python/libstdcxx/v6/__init__.py/usr/local/share/gcc-4.9.2/python/libstdcxx/v6/printers.py查看gcc4.9.2信息如下[root@bogon gcc-build-4.9.2]# ls /usr/local/bin/gcc-4.9.4/bin | grep gccgccgcc-argcc-nmgcc-ranlibx86_64-unknown-linux-gnu-gccx86_64-unknown-linux-gnu-gcc-4.9.4x86_64-unknown-linux-gnu-gcc-arx86_64-unknown-linux-gnu-gcc-nmx86_64-unknown-linux-gnu-gcc-ranlib設(shè)置使用新版的gcc4.9的方法很簡(jiǎn)單,設(shè)置軟鏈接即可[root@bogon usr]# mkdir /usr/gcc447backup/[root@bogon usr]# mv /usr/bin/{gcc,g++} /usr/gcc447backup[root@bogon usr]# ln -s /usr/local/bin/gcc-4.9.4/bin/gcc /usr/bin/gcc[root@bogon usr]# ln -s /usr/local/bin/gcc-4.9.4/bin/g++ /usr/bin/g++[root@bogon usr]# gcc -vUsing built-in specs.COLLECT_GCC=gccTarget: x86_64-unknown-linux-gnuConfigured with: ../gcc-4.9.4-source/gcc-4.9.4/configure --enable-languages=c,c++,fortran --enable-checking=release --disable-libmudflap --disable-libstdcxx-pch --enable-libgomp --enable-lto --enable-gold --with-plugin-ld=gold --with-cloog-include=/usr/include-cloog --with-cloog-lib=/usr/lib64 --prefix=/usr/local/gcc-4.9.4Thread model: posixgcc version 4.9.4 (GCC) 對(duì)于下載的是4.9.2,安裝出來(lái)的是4.9.4,目前我也很疑惑,哪位知道原因的,希望各位大蝦多多指教?。⒖迹篽ttp://www.cnblogs.com/codemood/archive/2013/06/01/3113200.htmlhttp://blog.csdn.net/windows_nt/article/details/21240843新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注