centos7系统编译报错对‘__cxa_throw_bad_array_new_length@CXXABI_1.3.8’未定义的引用 问题解决
centos的服务器上,部署jenkins跑自动编译运行测试用例的时候,报了这个问题,花了两天解决了这个问题,具体是使用gcc编译生成可执行文件,原因开发提供接口的动态库,里面用到了c++编译
第一步,升级centos的gcc版本 4.8升级到5.4,网上很多教程,不细说
第二步,使用g++去编译,又发现新问题/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found
原因:libstdc++.so.6需要升级,只支持到1.3.7,参考这个博客下载更新libstdc++.so.6.0.26 地址https://blog.csdn.net/weixin_44221035/article/details/103935537
第三步,下载完了将libstdc++.so.6.0.26 拷贝至/usr/lib64/ 链接一下
ln -s libstdc++.so.6.0.26 libstdc++.so.6
查询一下
strings /usr/lib64/libstdc++.so.6|grep CXXABI CXXABI_1.3 CXXABI_1.3.1 CXXABI_1.3.2 CXXABI_1.3.3 CXXABI_1.3.4 CXXABI_1.3.5 CXXABI_1.3.6 CXXABI_1.3.7 CXXABI_1.3.8 CXXABI_1.3.9 CXXABI_1.3.10 CXXABI_1.3.11 CXXABI_1.3.12 CXXABI_TM_1 CXXABI_FLOAT128 CXXABI_1.3 CXXABI_1.3.11 CXXABI_1.3.2 CXXABI_1.3.6 CXXABI_FLOAT128 CXXABI_1.3.12 CXXABI_1.3.9 CXXABI_1.3.1 CXXABI_1.3.5 CXXABI_1.3.8 CXXABI_1.3.4 CXXABI_TM_1 CXXABI_1.3.7 CXXABI_1.3.10 CXXABI_1.3.3
编译通过了
----保持谦虚保持清醒