libarb.so:无法打开共享对象文件:没有这样的文件或目录
Posted
技术标签:
【中文标题】libarb.so:无法打开共享对象文件:没有这样的文件或目录【英文标题】:libarb.so: cannot open shared object file: No such file or directory 【发布时间】:2015-09-13 14:25:39 【问题描述】:我在 Ubuntu 中使用
安装了arb./configure
make
sudo make install
并尝试运行此代码:
#include <arb.h>
int main()
arb_t x;
arb_init(x);
arb_const_pi(x, 50 * 3.33);
arb_printn(x, 50, 0); printf("\n");
printf("Computed with arb-%s\n", arb_version);
arb_clear(x);
使用-larb
库。但是在终端我得到了这个错误:
error while loading shared libraries: libarb.so:
cannot open shared object file: No such file or directory
我该如何解决这个问题?
我搜索了一下,/usr/local/lib
中有一个libarb.so。
【问题讨论】:
尝试添加 libarb 的路径:-L/usr/local/lib -larb 但是,你确定在 /usr/local/lib 中有一个 libarb.so,或者类似于 libarb。 so.x.y.z ? 是的。这是 libarb.so。 这与 C++ 有什么关系? 我做了一个 C++ 项目。好像是C。 askubuntu.com/questions/673637/… 【参考方案1】:检查并验证这些步骤
-
检查库是否存在,使用下面的命令
find / -name "libarb.so"
-
使用 -L 选项编译您的程序,示例如下
gcc program.c -L <path to library> -larb
-
如果需要,在运行前导出库路径。下面的例子
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path to library>
在大多数情况下(考虑到所有访问权限都已正确设置)上述步骤应该可以解决链接问题。
【讨论】:
【参考方案2】:使用ldconfig
命令将库添加到链接器缓存中。
为此,请将存储库的目录添加到/etc/ld.so.conf
,然后以root 身份执行ldconfig
。
【讨论】:
以上是关于libarb.so:无法打开共享对象文件:没有这样的文件或目录的主要内容,如果未能解决你的问题,请参考以下文章
加载共享库时出错,无法打开共享对象文件:没有这样的文件或目录(hiredis)
加载共享库时出错:libgmock.so:无法打开共享对象文件:没有这样的文件或目录
加载共享库时出错:libgfortran.so.1:无法打开共享对象文件:没有这样的文件或目录
libcrypto.so.10:无法打开共享对象文件:没有这样的文件或目录