1. 程式人生 > >centos中gcc升級,boost升級

centos中gcc升級,boost升級

這篇部落格是在你已經成功下載了gcc源安裝包和boost安裝包後要看的。

1.gcc升級

centos系統自帶的gcc版本較低,一般是在4.47,該gcc版本不支援c++11以上的一些標準,所以在編譯c++程式碼的時候,是必須要升級gcc的。

在編譯好gcc以後,並且make install以後   會編譯出bin檔案和lib檔案等  這些檔案如果未指定路徑的話  預設會出現在/usr/local/bin/gcc  和/usr/local/lib下面,而系統自帶的預設gcc是在/usr/bin/gcc 和 /usr/bin/lib下面,此時需要將這兩個部分刪掉,或者字尾加上.bak,然後過建立軟連線的方式連結到/usr/local/下相應的檔案下。此處可執行檔案gcc會連結過去,同時/usr/bin/c++這個也需要建立軟連線過去,軟連線的命令是

ln -s /usr/bin/c++ /usr/local/bin/c++

然後,只是修改掉了gcc的版本問題  但是還存在libstdc++最新版本不支援,使用如下指令:

strings /usr/lib/libstdc++.so.6 | grep GLIBCXX  
會看到如下的展示:
GLIBCXX_3.4  
GLIBCXX_3.4.1  
GLIBCXX_3.4.2  
GLIBCXX_3.4.3  
GLIBCXX_3.4.4  
GLIBCXX_3.4.5  
GLIBCXX_3.4.6  
GLIBCXX_3.4.7  
GLIBCXX_3.4.8  
GLIBCXX_3.4.9  
GLIBCXX_3.4.10  
GLIBCXX_3.4.11  
GLIBCXX_3.4.12  
GLIBCXX_3.4.13  
GLIBCXX_FORCE_NEW  
GLIBCXX_DEBUG_MESSAGE_LENGTH 
此時可以通過find / -name libstdc++.so.6 查詢系統的libstdc++來找到該檔案  同時通過ll命令可以檢視這個東西的軟連線的位置。此時需要將這個檔案連結到最新的檔案上  首先執行

rm libstdc++.so.6 

建立軟連線:

ln libstdc++.so.6.0.20 libstdc++.so.6  
就可以了

boost庫的升級:

boost庫的版本一般都要在1.5.5以上,會有很多新的特性。

按照boost源安裝包的東西進行編譯安裝,這期間大約要編譯半個小時以上

然後將編譯出來的東西有lib包和include檔案  include檔案直接放到/usr/local/include下即可,然後修改下path  新增進去

lib包裡的內容需要加到/usr/local/lib下面即可

這些.so的動態連結庫是c++可執行檔案在執行過程中依賴的,如果不知道一個可執行檔案依賴哪些動態連結庫的話 可以用ldd  可執行檔案  來檢視  將這些動態連結庫新增到/etc/ld.conf.d.so/下面的配置檔案中即可,然後使用ldconfig  將這些東西載入進去。

icuu.so等檔案如果找不到的話 是與系統有關的 可以看下其他的系統中有的話 直接拷貝過來既可。