libthrift-0.9.1.so:不能打开共享目标文件:没有这样的文件或目录
libthrift-0.9.1.so: cannot open shared object file: No such file or directory
我已经使用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.a
和libthriftz.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
相关文章:
- 为测试目标创建具有不同源文件夹的文件
- 如何为包含头文件的目标编写生成文件?
- 制作文件:没有规则来制定目标:如何设置正确的规则?
- 生成文件:6:目标'all'的配方在 Ubuntu-16.04 上失败
- 当前不会命中断点。没有调试器目标代码类型的可执行代码与此文件关联
- 使用 Libssh 将文件从服务器复制到客户端:分配文件复制目标路径时出现问题
- C++ 如何将两个 makefile 对象目标规则(位于另一个文件夹中)合并到一个目标/规则中?
- 在目标计算机上访问 POSIX 信号灯时出现可执行文件崩溃(SEGV_MAPERR)
- 如何找到目标文件 *.o 的 ram rom 使用情况(.bss .text .rodata .data)?
- 如何使用cmake从主要的CMakeList.txt复制目标文件?
- 可变参数模板在目标文件中有重复的符号?
- 在 Linux 上,目标文件比在 macOS 或 Windows 上大 2.5 倍
- 为什么即使链接器找到目标文件,我的程序也看不到函数定义?
- 从.o目标文件中提取函数的原始机器代码?
- 使文件目标$(%符号)
- 针对不同生成文件目标的不同变量集
- 如何在不放置任何物理依赖项的情况下指定生成文件目标生成顺序
- extconf.rb:如何根据头文件更改生成生成文件目标
- 通过代码生成,使文件目标始终是最新的
- "Optional"生成文件中的目标文件目标?