Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1523123
  • 博文数量: 230
  • 博客积分: 474
  • 博客等级: 下士
  • 技术积分: 1955
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-19 18:40
文章分类

全部博文(230)

文章存档

2020年(3)

2019年(3)

2018年(12)

2017年(13)

2016年(11)

2015年(55)

2014年(74)

2013年(39)

2012年(2)

2011年(18)

我的朋友

分类: LINUX

2014-05-08 17:04:52

在linux下运行程序时,发现了error while loading shared libraries这种错误,一时间不知道解决办法,在网上搜索,终于解决了:

 

./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory
出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。

一般而言,有很多的so会存放在/usr/local/lib这个目录底下,去这个目录底下找,果然发现自己所需要的.so文件。

所以,在/etc/ld.so.conf中加入/usr/local/lib这一行,保存之后,再运行:/sbin/ldconfig –v更新一下配置即可

我们自己编写来一个动态库.os,想直接使用当前路径来调用动态库,但是如何设置呢?
ldconfig这个命令的作用网上应该很多的说明,不像windows 直接和应用程序放在一个目录就可以运行,

当前有2个方法
1.把路径加入到LD_LIBRARY_PATH
目前出现的情况是路径加到/etc/profile
#source /etc/profile
#ldconfig
但是还是找不到.so(ubuntu10.04),
2.把路径加入到/etc/ld.so.conf, 或者在/etc/ld.so.conf.d 目录下
建立自己的一个.conf文件并把路径添加进去,可以参考傍边的几个.conf文件
#ldconfig

阅读(4225) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~