问题:
[root@wwc d0709]# ldd ./te
linux-gate.so.1 => (0x00606000)
libevent-2.0.so.5 => not found
libc.so.6 => /lib/libc.so.6 (0x00a43000)
/lib/ld-linux.so.2 (0x00a20000)
从错误提示看,是没有找到event库。
[root@wwc d0709]# whereis libevent-2.0.so.5
libevent-2.0.so: /usr/local/lib/libevent-2.0.so.5运行时,event库所在目录/usr/local/lib不在系统搜索范围内,所以无法找到。
解决办法
(1)临时export:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
- 1
(2)永久起效:
~/.bashrc 中,在该文件的未尾,添加语句:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
- 1
保存文件,最后执行source语句使之生效。
$ source ~/.bashrc
- 1
(3)编译时指定:
编译时指定程序执行时库的搜索路径,使用”-Wl, rpath”选项,如下所示:
$ gcc -Wl,-rpath,/usr/local/lib test.c