ARM執行可執行檔案出現/usr/lib/libstdc++.so.6: version `CXXABI_ARM_1.3.3' not found解決
阿新 • • 發佈:2019-02-12
1.關於Linux PC上出現這種問題容易解決,直接下載個高版本的libstdc++so.6.0.x複製到/usr/lib中,軟連線一下就好了
ln -s libstdc++.so.6.0.x libstdc++.so.6
2.但是在ARM板上執行可執行檔案出現如上問題該怎麼辦呢,如果還是跟PC上一樣直接把PC上的高版本的檔案複製到 ARM檔案系統中軟連線一下是不行的
先來看一下出現此問題的原因:這是由系統的GCC版本過低引起的,也就是說板子中的系統更新太慢,或者就沒有 更新過,導致用比較新的arm-linux-gcc交叉編譯器編譯的程式需要更高的libstdc++.so.6.0.x檔案來執行,所以這個文 件其實與交叉編譯器掛鉤的
解決:其實在安裝好交叉編譯器的時候在交叉編譯器的lib資料夾下都會有這個檔案,我的在/zjk/software/arm-linux-gcc4.4.3/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/lib 下有libstdc++.so.6.0.13 直接複製到板子中的usr/lib下,做個軟連線就好了ln -s libstdc++.so.6.0.13 libstdc++.so.6
ps:(我是在交叉編譯好jrtplib庫後在板子中執行呼叫庫的可執行程式時候遇到的此問題)