在執行程序出現這個問題有兩種情況
原因1:已經安裝過高版本但未軟連接
解決方法:查找編譯gcc時生成的最新動態庫
find / -name "libstdc++.so*"
輸出:
cd /usr/lib64
ll stdlibc++*
以看到當前libstdc++so.6
指向13的版本,接下來把剛剛的高版本的復制到這里並重建軟鏈即可
rm libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
現在再執行就ok了!
原因2:版本低
解決方法:
- 查看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
在查看發現已經升級
再次執行發現已經沒有問題了!