libthrift-0.9.1.so:不能打开共享目标文件:没有这样的文件或目录

libthrift-0.9.1.so: cannot open shared object file: No such file or directory

本文关键字:文件 目标 so 不能 共享 libthrift-0      更新时间:2023-10-16

我已经使用git存储库安装了thrift 0.9.1。在构建thrift之后,我启动了预编译的cpp服务器和php客户端。这个预编译的示例工作得很好。

现在我正在尝试编译我自己的cpp服务器通过以下教程(http://wiki.apache.org/thrift/ThriftUsageC++)。我使用:

g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -Wall -I/usr/local/include/thrift *.cpp -L/usr/local/lib -lthrift -o something

编译没有错误的服务器。

当我通过输入./something执行服务器时,我得到error while loading shared libraries: libthrift-0.9.1.so: cannot open shared object file: No such file or directory

lib目录下有以下文件:

  • libthrift.a
  • libtrift.la
  • libthrift.so
  • libtthrift-0.9.0.so
  • libtthrift-0.9.1.so

还有libthrift_c.glib.a, libthriftnb.alibthriftz.a以及属于它们的文件,但我认为它们对这个错误不重要。

有谁知道是什么毛病吗?

谢谢你的帮助

当使用动态库(-lthrift)时,Linux在环境变量LD_LIBRARY_PATH中的目录中搜索包含libthrift.so的目录,必须确保在环境变量LD_LIBRARY_PATH中正确设置包含libthrift.so的目录。

Set env_var as follows,
$vim ~/.bashrc
export LD_LIBRARY_PATH=/usr/local/lib/:${LD_LIBRARY_PATH}
$source ~/.bashrc
$echo $LD_LIBRARY_PATH
$thrift -version