/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found

在執行程序出現這個問題有兩種狀況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

 在查看發現已經升級

 

 再次執行發現已經沒有問題了!

相關文章
相關標籤/搜索