最近在自己的虚拟机运行某个项目用到的程序的时候,报错:

./yimi_camera_proxy: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./libexport_cpp_utility.so)
./yimi_camera_proxy: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./libexport_cpp_utility.so)
./yimi_camera_proxy: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./libexport_cpp_osgi.so)
./yimi_camera_proxy: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./libexport_cpp_dsb.so)
./yimi_camera_proxy: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./libboost_locale-mt.so.1.58.0)
./yimi_camera_proxy: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./libboost_locale-mt.so.1.58.0)

在网上搜了一下,是程序用到了比较高版本的c++运行时库,但是本机器没有那么高版本的库,于是需要升级。

我的机器是centos 7.5 64位的,于是在网上找了高版本的库libstdc++.so.6.0.26,升级版本操作如下:

(1)下载下来的libstdc++.so.6.0.26文件放到目录/lib64

(2)删除原来的软连接libstdc++.so.6(原来的软连接内容为libstdc++.so.6 -> libstdc++.so.6.0.19)

(3)新建软连接:ln -s libstdc++.so.6.0.26 libstdc++.so.6

这样就升级好了版本库,然后查看一下:

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

升级完后启动程序就没问题了。

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐