我有两个共享库,' 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位(我假设?)库?
答案 0 :(得分:1)
将LD_LIBRARY_PATH导出到.so文件所在的路径
$ export LD_LIBRARYPATH=~/Desktop/host/projects/weave/lib/
然后做ldd。
$ ldd libcengine.so
你是在64位系统上构建程序而没有任何显式的-m32 / -m64选项,它会构建默认的64位二进制文件吗?