stm32cubeide ST-LINK_gdbserver _ZTINSt8ios_base7failureB5cxx11E libstdc++.so.6问题解决

在ubuntu14.04环境下使用stm32cubeide的ST-LINK_gdbserver调试会遇到下面问题(18.04没有该问题)
ST-LINK_gdbserver: relocation error: ./ST-LINK_gdbserver: symbol _ZTINSt8ios_base7failureB5cxx11E, version GLIBCXX_3.4.21 not defined in file libstdc++.so.6 with link time reference
该问题从ubuntu14.04中解决我是没找到办法,网上能搜到的全部都不行。为此只能自己分析了,看描述是libstdc++.so.6库有个符号_ZTINSt8ios_base7failureB5cxx11E不支持,于是检查libstdc++.so.6库的版本,结果是libstdc++.so.6.0.28还是挺高的版本,但是就是没有那个符号。
于是去ubuntu18.04系统看看,有了,果断复制过来从新链接,不报错了,而且可以正常使用了,但是库的版本是libstdc++.so.6.0.25,比我14.04中的还低一些,奇怪。这样虽然可用,但是直接替换可能会引起ubuntu14.04系统的问题,为此又想了一个办法,把拷贝来的库放在stm32cubeide某个目录下(自己创建也行),然后设置LD_LIBRARY_PATH路径指向该地址即可。
为什么会出这个问题,可能是编译stm32cubeide这个工具的linux系统版本可能比较高。

资源地址:https://download.csdn.net/download/u010406724/12277661

你可能感兴趣的:(linux)