/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by 的解决

在Ubuntu 14.04上,升级gcc到6.10后,运行编译的程序遇到`GLIBCXX_3.4.21`版本不匹配的问题。原因是g++版本未同步升级。解决方法是更新系统中的g++到与gcc匹配的版本,通过替换旧版动态库为新版动态库来修复此问题。
摘要由CSDN通过智能技术生成

操作系统:ubuntu 14.04


将gcc升级到6.10编译

g++ -std=c++11 test.cpp
生成a.out可执行文件


在运行编译完的的执行文件时 出现如下错误

./a.out: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./a.out)

问题出现:自己升级了gcc 6.10 而g++版本却不是

所以下面重点讲述如何升级g++

原因:升级gcc时,生成的动态库没有替换老版本gcc的动态库导致的

解决:,将gcc最新版本的动态库替换系统中老版本的动态库即可解决。

解决源码如下:

shipeng@shipeng-HP:~/my_C++$ cd ~
shipeng@shipeng-HP:~$ cd /usr/lib/x86_64-linux-gnu/
shipeng@shipeng-HP:/usr/lib/x86_64-linux-gnu$ sudo cp/home/shipeng/gcc-6.1.0/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值