在CentOS 6.6 64bit上升级GCC到4.8.2版本
生活随笔
收集整理的這篇文章主要介紹了
在CentOS 6.6 64bit上升级GCC到4.8.2版本
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
操作系統CentOS6.6 64bit上gcc原版本4.4.7,不能支持C++11的特性~,為了便于YouCompleteMe插件,我希望升級到4.8.2。不能通過yum的方法升級,需要自己手動下載安裝包并編譯,下面假定都是以root用戶安裝。
一、升級過程
1.獲取gcc安裝包并解壓gcc官網http://ftp.gnu.org/gnu/gcc里面有所有的gcc版本供下載,最新版本為5.3.0
wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.gz
tar -zxvf gcc-4.8.2.tar.gz
2.下載供編譯需求的依賴項
這個神奇的腳本文件會幫我們下載、配置、安裝依賴庫,可以節約我們大量的時間和精力,我們可以直接打開其源碼看看。
它會下載指定的源碼包并做軟連接。
cd gcc-4.8.2
./contrib/download_prerequisites
下面需要依次從源碼安裝這幾個依賴庫
gmp,mpfr,mpc
3.建立一個目錄供編譯出的文件存放
mkdir gcc-build-4.8.2
cd gcc-build-4.8.2
4. 生成Makefile文件
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
5.編譯
make -j4
注意:此步驟非常耗時,普通PC花費半小時不稀奇,我的高配電腦只用了10分鐘左右
6.安裝
sudo make install
7.切換GCC到新版
確定新安裝的GCC的路徑,一般默認在/usr/local/bin下。可以先updatedb,然后再輸入
ls /usr/local/bin | grep gcc
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/x86_64-unknown-linux-gnu-gcc 40
8.確認當前版本已經切換為新版
gcc -v
g++ -v
注意需要重新打開終端才能生效。
?
二、驗證安裝
嘗試寫一個C++11特性的程序段 tryCpp11.cc,使用了shared_ptr
//tryCpp11.cc
#include <iostream>
#include <memory>
int main()
{
? ? std::shared_ptr<int> pInt(new int(5));
? ? std::cout << *pInt << std::endl;
? ? return 0;
}
?
驗證文件:
g++ -std=c++11 -o tryCpp11 tryCpp11.cc
./tryCpp11
三、安裝中遇到的問題澄清
1.是否需要手動安裝依賴庫?
不需要,程序會內部自動處理,手動安裝反而后出錯。
2.安裝動態庫后,是否需要更新動態庫?
更不需要修改并更新/etc/ld.so.conf文件之類的
3.如果編譯錯誤,不要make distclean之類的,直接重新解壓源碼再來一遍
4.編譯過程中出現錯誤
configure: error: cannot compute suffix of object files: cannot compile
這是找不到依賴庫的位置
四、參考文獻
[1].http://www.linuxidc.com/Linux/2015-01/112595.htm ? 4.8.3版本
[2].http://blog.csdn.net/szq123456123/article/details/45170923 ? 4.9.2版本
[3].http://www.mamicode.com/info-detail-550954.html ?對排錯很有參考
[4].http://www.cnblogs.com/peterpanzsy/archive/2013/04/10/3006838.html 對排錯很有幫助,推薦
總結
以上是生活随笔為你收集整理的在CentOS 6.6 64bit上升级GCC到4.8.2版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在CentOS 6.6 64bit上安装
- 下一篇: 在CentOS 6.6 64bit上编译