' LDD'报告未找到'在寻找共享库时

时间:2015-03-02 07:57:52

标签: x86 g++ 64-bit shared-libraries ldd

我有两个共享库,' engine.so'和' cengine.so'。 ' cengine.so'依赖于' engine.so',这是由' ldd' -command确认的:

http://puu.sh/gj0ZU/f4530c3c28.jpg

然而它声明它无法找到图书馆,即使它们都在同一个目录中!我是否需要手动指定查找目录?

此外,还有依赖于< ld-linux-x86-x64.so.2'。我已经将程序构建为32位应用程序(没有-m64参数),为什么它会自动链接到64位(我假设?)库?

1 个答案:

答案 0 :(得分:1)

将LD_LIBRARY_PATH导出到.so文件所在的路径

$ export LD_LIBRARYPATH=~/Desktop/host/projects/weave/lib/

然后做ldd。

$ ldd libcengine.so

你是在64位系统上构建程序而没有任何显式的-m32 / -m64选项,它会构建默认的64位二进制文​​件吗?