DSO missing 解决办法

3 篇文章 0 订阅

DSO是Dynamic Shared Object的简称,其实就是动态链接库,解决办法很简答,检查库是否存在,如果不存在,就编译一套,多数情况下是库的版本导致的,这时需要在编译参数内通过-L强制指定所需库的位置。嗯,就这么简单

附上一个本人遇到的类似问题和解决过程

haojing@VM-0-2-debian:~/myapp/myapp$ g++ myio.cpp main.cpp -o ./myapp -lboost_system -lboost_thread
/usr/bin/ld: /tmp/ccOKgm3i.o: undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line

haojing@VM-0-2-debian:~/myapp/myapp$ sudo find / -name "libpthread*"
/usr/lib/x86_64-linux-gnu/libpthread.so
/usr/lib/x86_64-linux-gnu/libpthread_nonshared.a
/usr/lib/x86_64-linux-gnu/libpthread.a
/lib/x86_64-linux-gnu/libpthread-2.24.so
/lib/x86_64-linux-gnu/libpthread.so.0
/lib/i386-linux-gnu/libpthread-2.24.so
/lib/i386-linux-gnu/libpthread.so.0


haojing@VM-0-2-debian:~/myapp/myapp$ g++ test.cpp myio.cpp main.cpp -o ./myapp -lboost_system -lboost_thread -lpthread -L/usr/lib/x86_64-linux-gnu

 

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值