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:无法打开共享对象文件:没有这样的文件或目录

自己的lib,另一台计算机:无法打开共享对象文件:没有这样的文件或目录

clang:加载共享库时出错:libtinfo.so.5:无法打开共享对象文件:没有这样的文件或目录