歡迎您光臨本站 註冊首頁

GCC 源碼安裝

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

Linux下 源碼安裝GCC

系統環境:Red Hat Enterprise Linux Server release 5.4 (Tikanga)

原有GCC版本: 4.1.2(系統必須自帶有GCC,否則無法進行源碼安裝)
要安裝的GCC版本:4.6.2


GCC官網 http://gcc.gnu.org/ 參考文檔 http://gcc.gnu.org/install/prerequisites.html

http://gcc.gnu.org/install/configure.html

http://gcc.gnu.org/wiki/FAQ#configure

http://gcc.gnu.org/wiki/FAQ#configure_suffix http://advogato.org/person/redi/diary/253.html 一、下載
  1. [root@router ~]# wget http://mirrors-us.seosue.com/gcc/releases/gcc-4.6.2/gcc-4.6.2.tar.gz
二、安裝
  1. [root@router ~]# mkdir gcc-tmp //新建一個gcc臨時目錄
  2. [root@router ~]# cd gcc-tmp
  3. [root@router gcc-tmp]# tar xzf ~/gcc-4.6.2.tar.gz //解壓源碼
  4. [root@router gcc-tmp]#cd gcc-4.6.2
  5. [root@router gcc-4.6.2]#./contrib/download_prerequisites
  6. //下載先決條件軟體包,此步非常重要(事關make是否能順利通過),gcc安裝需要許多先決條件
  7. [root@router gcc-4.6.2]#cd ..
  8. [root@router gcc-tmp]#mkdir gcc-build
  9. //新建一個gcc編譯的目錄(最好不要和gcc源碼相同)
  10. [root@router gcc-tmp]#cd gcc-build
  11. [root@router gcc-build]#../gcc-4.6.2/configure --prefix=/usr/local/gcc-4.6.2 --enable-languages=c,c
  12. //稍等片刻,等待配置完成,配置選項根據自己需要進行添加
  13. [root@router gcc-build]#make //這一步時間比較長,要做的只能等待編譯完成

  14. [root@router gcc-build]#make install //進行安裝
三、配置 編輯vim /etc/profile,修改PATH變數,添加LD_LIBRARY_PATH變數
  1. [root@router gcc-build]#vim /etc/profile
  2. export PATH=/usr/local/gcc-4.6.2/bin:$PATH
//把新安裝的GCC bin路徑放到原有的前面,這樣就可以先找到新版本的GCC
  1. export LD_LIBRARY_PATH=/usr/local/gcc-4.6.2/lib:$LD_LIBRARY_PATH
//指定新版本GCC庫文件路徑
  1. [root@router gcc-build]#source /etc/profile
//使PATH和LD_LIBRARY_PATH變數生效 四、編寫一個C程序測試 該程序是判斷一個數是否是迴文數
  1. [root@router ~]#vim test.c
  2. # include <stdio.h>
  3. int main(void)
  4. {
  5. int val;
  6. int sum = 0;
  7. int m;
  8. printf("Please Input A Number:");
  9. scanf("%d",&val);
  10. m = val;
  11. while (m)
  12. {
  13. sumsum = sum*10 m;
  14. m /= 10;
  15. }
  16. if (sum == val)
  17. printf("Yes!\n");
  18. else
  19. printf("No!\n");
  20. return 0;
  21. }
保存退出
  1. [root@router ~]# gcc test.c //編譯,會生成一個a.out文件
  2. [root@router ~]# ./a.out //執行a.out文件
  3. Please Input A Number:121
  4. Yes!
  5. [root@router ~]# ./a.out
  6. Please Input A Number:123
  7. No!

本文出自 「雷納科斯的博客」 博客,請務必保留此出處http://linux5588.blog.51cto.com/65280/794251


[火星人 ] GCC 源碼安裝已經有513次圍觀

http://coctec.com/docs/linux/show-post-47471.html