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
會看到如下的展示:
此時可以通過find / -name libstdc++.so.6 查詢系統的libstdc++來找到該檔案 同時通過ll命令可以檢視這個東西的軟連線的位置。此時需要將這個檔案連結到最新的檔案上 首先執行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
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等檔案如果找不到的話 是與系統有關的 可以看下其他的系統中有的話 直接拷貝過來既可。