歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Fedora 15 添加低版本gcc,多版本gcc共存

Fedora 15 添加低版本gcc,多版本gcc共存

日期:2017/2/28 16:07:35   编辑:Linux教程

1.下載低版本gcc3.4.6.

2.su
yum install compat-gcc-34*

3.1、先下載gcc-3.4.6.tar.bz2文件於/tmp目錄下,並對其進行解壓,於是在/tmp下有了gcc-3.4.6目錄,它就是gcc-3.4.6的源目錄
3.2、在/tmp下再建立一個gcc-3.4.6-bulid目錄,作為gcc-3.4.6的目標目錄。
3.3、在/usr/local下建立gcc-3.4.6-dest目錄,作為gcc-3.4.6的配置目錄。(需要root權限,所以可以這麼做:sudo mkdir /usr/local/gcc-3.4.6-dest)
3.4、在gcc-3.4.6-bulid目錄下(必須的),執行以下命令:
/tmp/gcc-3.4.6/configure --prefix=/usr/local/gcc-3.4.6-dest --enable-threads=posix --disable-checking --enable--long-long --with-system-zlib --enable-languages=c,c++

3.5、make bootstrap

3.6、make install

4、查看原來的gcc所在的路徑:% which gcc
顯示:/usr/local/ccache/gcc
/usr/local/ccache/就是原來gcc的目錄
5、把GCC-3.4.6中的gcc、g++等命令在 /usr/local/ccache/目錄下分別做一個符號連接:
> cd /usr/local/ccache/
  > sudo ln -s /usr/local/gcc-3.4.6-dest/bin/gcc gcc346
  > sudo ln -s /usr/local/gcc-3.4.6-dest/bin/g++ g++346 由於之前在configure時把java加進去在make時有錯誤,後來就沒加了。
原則上,這樣就可以分別使用gcc346、g++346來調用GCC-3.4.6的gcc、g++j完成對C、C++程序的編譯了。同時,仍然能夠使用舊版本的GCC編譯器中的gcc、g++等命令。
6、庫路徑的設置
將${destdir}/lib路徑添加到環境變量LD_LIBRARY_PATH中,最好添加到系統的配置文
件中,這樣就不必要每次都設置這個環境變量了。可以直接在命令行上執行或者在文件/etc/profile中添加下面一句:
> sudo vi /etc/profile
  setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.6/lib:$LD_LIBRARY_PATH
7、測試新的編譯命令(gcc346、g++346)否能正常工作。
只要輸入命令:gcc346 -v
若有如下顯示,說明是成功的:
Reading specs from /usr/lib/gcc-3.4.6/lib/gcc/i686-pc-linux-gnu/3.4.6/specs
Configured with: ./configure --prefix=/usr/lib/gcc-3.4.6 --enable-threads=posix --disable-checking --enable--long-long -with-system-zlib --enable-languages=c,c++
Thread model: posix
gcc version 3.4.6

如果還不放心 ,編一個簡單的hello.c程序,如
#include <stdio.h>
int main(void) {printf("hello, Fedora15!\n");}
編譯一下:gcc346 -o hello hello.c
若有目標hello文件出現,執行./hello,輸出:hello, Fedora15!
OK。

Copyright © Linux教程網 All Rights Reserved