Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55999
  • 博文数量: 16
  • 博客积分: 70
  • 博客等级: 民兵
  • 技术积分: 66
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-07 09:54
文章分类
文章存档

2015年(11)

2014年(1)

2013年(2)

2012年(2)

我的朋友

分类: LINUX

2015-04-17 11:27:03



如果使用自己手动生成的动态链接库.so文件,但是这个.so文件,没有加入库文件搜索路劲中,程序运行时可能会出现找不到动态链接库的情形。

可以通过ldd命名来查看可执行文件依赖的动态链接库,如下(其中D为可执行程序):
lijian@li007lee:~/bin$ ldd ../lib/libsqlite3odbc.so 
                linux-gate.so.1 =>  (0xb7794000)
                libsqlite3.so.0 => not found
                libodbcinst.so.2 => /home/lijian/lib/libodbcinst.so.2 (0xb7740000)
                libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7590000)
                libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb758b000)
                libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb756f000)
                /lib/ld-linux.so.2 (0xb7795000)

 其中的libsqlite3.so.0 cannot found。


解决这个问题:


 (1)在系统中查找这个文件(当然要保证系统中已经有这个.so文件,只是查找路径没有设置正确而已):


  sudo find / -name libsqlite3.so.0


  结果:/usr/local/lib/libsqlite3.so.0


(2)将.so文件路径的目录添加到/etc/ld.so.conf


   sudo vim /etc/ld.so.conf


  文件末尾新添加一行,/usr/local/lib/libsqlite3.so.0


(3)使得修改生效


  sudo /sbin/ldconfig


这样就不会有那个找不对.so文件的错误啦。
阅读(10113) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~