Llinux 如何解决XXX defined in DSO /libXXX.so.XX

本文介绍了解决在编译过程中遇到的未定义符号引用错误的方法,特别是当使用Boost线程库时出现的错误。文章指出问题在于编译时未正确链接到所需的Boost线程库,并提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述:

undefined reference to symbol
'boost::detail::get_tss_data(void const*)'
/usr/bin/ld: note: 'boost::detail::get_tss_data(void const*)' is defined in DSO
/usr/lib/libboost_thread.so.1.46.1 so try adding it to the linker command line
/usr/lib/libboost_thread.so.1.46.1: could not read symbols: Invalid operation


 解决:

DSO是一个动态的符号解析器,它能够链接程序所要加载的库文件。上述问题是由于在程序中有函数引用了libboost_thread,但却没有链接它。因此,只需要在命令行中加上 -lboost_thread或在makefile中的LINKFLAGS后加上-lboost_thread

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值