加载动态库时的问题

如果一个可执行程序执行时出现如下的错误:

error while loading shared libraries: libxxx.so: can not open shared object file: No such file or directory

表示找不到该动态库的路径,需要在执行该程序前配置。而配置有两种方法:

方法一:

具有root权限,可以直接编辑/etc/ld.so.conf文件,将类库路径加入;不过一般/etc/ld.so.conf文件的内容是“include ld.so.conf.d/*.conf”,那么可以在/etc/ld.so.conf.d目录下创建新的配置文件:文件名.conf,然后将相关类库路径加入该文件。

不管怎样配置,最后都是需要执行:ldconfig命令。

 

方法二:

修改~/.bashrc,将类库路径加到LD_LIBRARY_PATH变量中:

echo "LD_LIBRARY_PATH=类库路径:$LD_LIBRARY_PATH" >> ~/.bashrc

这个没有root权限的情况下可以使用,修改后需要重新登录。但最好还是不要使用这种方法,推荐第一种。

posted @ 2012-07-15 22:43  茫茫深海一条鱼  阅读(169)  评论(0)    收藏  举报