0

我有两个共享库,“engine.so”和“cengine.so”。'cengine.so' 对 'engine.so' 有依赖关系,这由 'ldd' 命令确认:

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

但是它指出它找不到库,即使它们都在同一个目录中!我是否必须以某种方式手动指定查找目录?

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

4

1 回答 1

1

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

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

然后做ldd。

$ ldd libcengine.so

您在没有任何显式 -m32/-m64 选项的 64 位系统上构建程序,这将构建默认的 64 位二进制文​​件,对吗?

于 2015-03-02T12:32:07.443 回答