version `GLIBCXX_3.4.14' not found, 及shared_ptr.h error: '_Lock_policy' has not been declared 问题

1. version `GLIBCXX_3.4.14' not found 问题
1.1 现象
    目标机器上运行./hello,报告: /lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by ./hello)


1.2 解决
交叉编译机器:
strings libc/usr/lib/libstdc++.so.6.0.14 | grep GLIBCXX
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH


目标机器:
strings  /lib/libstdc++.so.6 | grep GLIBC
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBC_2.4
GLIBCXX_FORCE_NEW
GLIBCXX_DEBUG_MESSAGE_LENGTH


判断是目标机器上的版本比较老,静态链接(打开 -static选项), 问题解决


2.  shared_ptr.h:61:46: error: '_Lock_policy' has not been declared 问题
2.1 现象
    加入#include<shared_ptr.h>, 编译,报告 version `GLIBCXX_3.4.14' not found, 及/usr/include/c++/4.4.3/tr1/shared_ptr.h:61:46: error: '_Lock_policy' has not been declared 等一大堆问题


2.2 解决
    求助度娘,在http://stackoverflow.com/questions/5170670/include-tr1shared-ptr有说要
#include <memory>

加入memory声明, 问题解决



回答: 当你的代码报错"libstdc++.so.6: version `GLIBCXX_3.4.21' not found"时,这意味着你的系统中缺少了GLIBCXX_3.4.21版本的libstdc++库。\[3\]为了解决这个问题,你可以尝试更新libstdc++库。首先,你可以使用命令"locate libstdc++.so.6"来查找系统中不同版本的libstdc++库。通常,这个库会存在于多个位置,比如系统升级或者conda等工具的安装会导致存在高版本的libstdc++.so.6.3.30、libstdc++.so.6.4.30等。\[2\]然后,你可以尝试更新这个库,确保你的系统中有GLIBCXX_3.4.21版本的libstdc++库。你可以使用命令"ls -l /usr/lib64/libstdc++.so*"来查看软连接,确认当前系统中的libstdc++.so.6版本。\[3\]如果你的系统中没有GLIBCXX_3.4.21版本的库,你可以尝试更新或安装这个版本的libstdc++库来解决问题。 #### 引用[.reference_title] - *1* [/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found](https://blog.csdn.net/yuzhao727/article/details/124281782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [任何类似问题 libstdc++.so.6: version `GLIBCXX_3.4.26’ not found 的一个通用解决方法](https://blog.csdn.net/weixin_45503019/article/details/127526420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [conda环境下“/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found”问题解决](https://blog.csdn.net/lsb2002/article/details/131456857)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值