解决Linux中cannot open shared object file:No such file or directory

解决Linux中cannot open shared object file:No such file or directory,第1张

在一个C项目中,我们需要解析配置文件,然后选用了libconfuse库.从源码编译安装之后,照着官网的例子,写了一个测试程序,却不能成功运行,老是出现如题所示的错误.

开始是找不到函数的定义,于是链接了一下外部库,解决:

gcc -o TestConfuse TestConfuse.c /usr/local/lib/libconfuse.a

然后就是cannot open shared object file: No such file or directory了,通过执行 sudo ldconfig 命令解决.

ldconfig 是一个用于管理 Share Library Cache 的工具.这些缓存一般保存在 /etc/ld.so.cache 中.这些缓存被系统用于映射库名称和其位置的关系.这个映射关系,会在共享库需要被动态链接到程序中时,被用到.默认情况下,共享库都放在 /lib,/usr/lib 中.

那么,如果我们将共享库安装到 /usr/local/lib 中,在我们需要用到这个共享库时,就会因为从动态库缓存中,找不到它,而导致出现上面的错误.

解决方法有两个:

在Ubuntu14.04上实验过没有问题,在其他的Linux发行版上没有尝试过.

原因:附加依赖项填写错误造成的。解决方法:

如下参考:

1.首先,打开开发项目并选择您想要修改的解决方案。

2.选择要修改的项,右键单击,然后选择properties菜单。

3.然后单击所选的连接器,如下所示。

4.再次单击输入选项,直到看到附加的依赖项。单击附加依赖项的下拉按钮并选择edit。

5.然后一行一行地重写附加的依赖项,然后单击ok完成设置。

cd 到 /user/lib/python3/dist-packages/bcloud/这个目录,看看有没有auth.py这个文件

vi命令是如果当前路径没有这个文件,它会自动建一个新的文件,所以是空的。

不行就搜索你的系统里有没有 auth.py这个文件,找到后再修改


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7248138.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存