error while loading shared libraries: libXX-2.0.so.5: cannot open shared object file: No such file

来源:互联网 发布:pymongo 读取数据 编辑:程序博客网 时间:2024/05/21 10:20

问题

运行时出现如下问题

$ ./orangeapp./orangeapp: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

从错误提示看,是没有找到event库。
编译时的编译选项“-l event -L/usr/local/lib/”,用于指定了库名称和路径,这个只是编译链接时使用。而运行时,event库所在目录/usr/local/lib不在系统搜索范围内,所以无法找到。

解决办法

(1)临时export:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

(2)永久起效:
~/.bashrc 中,在该文件的未尾,添加语句:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

保存文件,最后执行source语句使之生效。

$ source ~/.bashrc

(3)编译时指定:
编译时指定程序执行时库的搜索路径,使用”-Wl, rpath”选项,如下所示:

$ gcc -Wl,-rpath,/usr/local/lib test.c
0 0