分类: 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