在运行时找不到共享对象。 KRPC

Posted

技术标签:

【中文标题】在运行时找不到共享对象。 KRPC【英文标题】:Cant find Shared Object on runtime. KRPC 【发布时间】:2017-01-31 20:21:58 【问题描述】:

我正在尝试使用一个名为 krpc 的库。根据说明使用 cmake 安装它。 https://krpc.github.io/krpc/cpp/client.html#using-the-library

这是测试程序:

#include <iostream>
#include <krpc.hpp>
#include <krpc/services/krpc.hpp>

int main() 
  krpc::Client conn = krpc::connect();
  krpc::services::KRPC krpc(&conn);
  std::cout << "Connected to kRPC server version " << krpc.get_status().version() << std::endl;

编译:

g++ main.cpp -std=c++11 -lkrpc -lprotobuf

ldd 返回:(找到其他库)

ldd a.out
         libkrpc-0.3.7.so => not found

该库是从 ./krpc-cpp-0.3.7 安装的 其中包含 libkrpc.so.0.3.7。

如何正确安装库?我尝试更改 .so 的名称。并建立到 /ust/lib 的软链接。然后重新运行 ldconfig。

【问题讨论】:

在.so复制到/usr/lib后尝试运行ldconfig 效果很好!谢谢!不知何故,我错过了这个。我在这里提问的新手。我会将问题标记为已解决,还是将其删除? 【参考方案1】:

必须将 .so 复制到 /usr/lib,然后运行 ​​ldconfig。

-感谢@Xin Huang

【讨论】:

以上是关于在运行时找不到共享对象。 KRPC的主要内容,如果未能解决你的问题,请参考以下文章

尝试从 R 脚本渲染闪亮的 flexdashboard 时找不到错误对象输出

安装grid时找不到ASM共享磁盘

访问 xampp 中的 index.html 页面时找不到对象错误

C++ 可执行文件在运行时找不到库,即使它位于 /usr/lib 中(在 Linux 上)

java运行时找不到主类

在物理设备上运行时找不到 -lBugsnagReactNative 的库