赞
踩
“error while loading shared libraries: libcjson.so.1: cannot open shared object file: No such file or directory”指找不到共享库,下面分析一下错误原因及其解决办法。
错误原因一般有两种:
——这个只需要安装对应的共享库即可。
如果共享库文件安装到了/lib或/usr/lib目录下,则需执行一下ldconfig命令。
ldconfig 命令的用途是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.。通常在系统启动时会执行命令ldconfig。当用户安装了一个新的动态链接库时,就需要手动运行lfconfig命令
如果共享库文件安装到了/usr/local/lib或其它"非/lib或/usr/lib"目录下,则在执行ldconfig命令前,还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中
# cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
# echo "/usr/local/lib" >> /etc/ld.so.conf
# ldconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/kongsiyu/rpimonitor/cjson/cJSON-1.7.14
在使用共享库的时候,最好export一个全局变量LD_LIBRARY_PATH,指定该共享库的文件路径。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。