在執行程序出現這個問題有兩種狀況c++
緣由1:已經安裝太高版本但未軟鏈接code
解決方法:查找編譯gcc時生成的最新動態庫blog
find / -name "libstdc++.so*"
輸出:string
cd /usr/lib64
ll stdlibc++*編譯
以看到當前libstdc++so.6
指向13的版本,接下來把剛剛的高版本的複製到這裏並重建軟鏈便可class
rm libstdc++.so.6gcc
ln -s libstdc++.so.6.0.21 libstdc++.so.6下載
如今再執行就ok了!grep
緣由2:版本低gc
解決方法:
- 查看gcc版本中包含哪些庫。
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
從網上下載高版本的libstdc++.so.6.0.13以上的版本,好比libstdc++.so.6.0.21。(或者從其它機器上拷貝一份)
cd /usr/lib64
ll stdlibc++*
cp ../libstdc++.so.6.0.21 .
rm libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
在查看發現已經升級
再次執行發現已經沒有問題了!