error while loading shared libraries的解決方法

问题

今天在安装测试websockets服务端时,运行时提示

……error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory……

Oh, MY GOD!!!

找不到库文件,不可能,不是刚刚才编译好的啊?!

排查解决

首先,使用locate查看具体的文件是否存在。

$ locate libwebsockets.so
/usr/local/lib/libwebsockets.so
/usr/local/lib/libwebsockets.so.1
/usr/local/lib/libwebsockets.so.1.0.0
$ 

根据实际情况,换成想要查看的文件名即可。

然后,在/etc/ld.so.conf.d/目录下新建一文件,名字自行决定,这里枫竹梦采用websockets。添加库文件所在的目录到文件中:

/usr/local/lib

最后,执行ldconfig命令,更新一下动态库的运行时绑定:

$ ldconfig

至此,问题已经解决,回头试一下原来出问题的文件吧!

更多请参考Linux编程

原文地址:https://www.cnblogs.com/furzoom/p/7710277.html