undefined reference to `dladdr@GLIBC_2.34` 和 `std::__exception_ptr::exception_ptr::_M_rel

出现错误:

undefined reference to `dladdr@GLIBC_2.34`

原因:
系统的GLIBC的版本比较低
验证方法:
ldd --version 查看GLIBC的版本
解决方法:
升级GLIBC,参考:

这个错误信息"undefined reference to `dlclose@GLIBC_2.34'"通常出现在编译或链接使用动态加载库(DL)的程序时。这个错误表明程序试图调用dlclose函数,但是链接器找不到对应GLIBC 2.34版本的实现。 这个问题的可能原因解决方法如下: 1. GLIBC版本不兼容: 你的系统可能安装了较旧版本的GLIBC,不包含你试图调用的函数版本。 解决方法:升级你的GLIBC到2.34或更高版本,或者修改你的代码以使用旧版本的dlclose(如果可能的话)。 2. 链接顺序问题: 在某些情况下,链接器的搜索顺序可能导致找不到符号。 解决方法:确保在链接命令中正确包含所有必要的库,特别是-ldl。 3. 编译环境问题: 你的编译环境可能配置不正确,或者使用了不兼容的编译器标志。 解决方法:检查你的编译器链接器设置,确保它们与目标系统的库版本兼容。 4. 跨平台编译问题: 如果你在一个系统上编译代码以在其他系统上运行,可能会遇到这种问题。 解决方法:使用交叉编译工具链,或者在目标系统上直接编译代码。 5. 静态链接问题: 如果你试图静态链接GLIBC,可能会遇到这种问题,因为某些函数不适用于静态链接。 解决方法:避免静态链接GLIBC,使用动态链接代替。 解决这个问题的方法取决于你的具体环境使用场景。通常,升级GLIBC或调整编译链接命令可以解决大部分问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值