這篇部落格是在你已經成功下載下傳了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等檔案如果找不到的話 是與系統有關的 可以看下其他的系統中有的話 直接拷貝過來既可。