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

时间:2017-01-31 20:21:59

标签: c++ linux linker

我试图使用名为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。

1 个答案:

答案 0 :(得分:1)

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

- 谢谢@Xin Huang