我已经使用 git 存储库安装了 thrift 0.9.1
。
在构建 thrift 之后,我启动了预编译的 cpp 服务器和 php 客户端。这个预编译示例运行良好。
现在我正尝试按照本教程 (http://wiki.apache.org/thrift/ThriftUsageC++) 编译我自己的 cpp 服务器。 我用过:
g++ -DHAVE_INTTYPES_H -DHAVE_NETINET_IN_H -Wall -I/usr/local/include/thrift *.cpp -L/usr/local/lib -lthrift -o something
编译无错误运行的服务器。
当我通过键入 ./something
执行服务器时,加载共享库时出现 错误:libthrift-0.9.1.so:无法打开共享对象文件:没有这样的文件或目录
。
在lib目录下有以下文件:
- libthrift.a
- libtrift.la
- libthrift.so
- libtthrift-0.9.0.so
- libtthrift-0.9.1.so
还有libthrift_c.glib.a
、libthriftnb.a
和libthriftz.a
以及属于它们的文件,但是我认为它们对于这个错误并不重要。
有人知道这是怎么回事吗?
感谢任何帮助
最佳答案
当使用动态库(-lthrift
)时,Linux 搜索包含libthrift.so
的目录在环境变量中的目录中 LD_LIBRARY_PATH
, 您必须确保包含 libthrift.so
的目录在环境变量中正确设置 LD_LIBRARY_PATH
.
关于c++ - libthrift-0.9.1.so : cannot open shared object file: No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23991830/