天天看點

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等檔案如果找不到的話 是與系統有關的 可以看下其他的系統中有的話 直接拷貝過來既可。

繼續閱讀