ldd 显示找不到共享库依赖项的库
ldd shows library not found for shared library dependency
我正在使用一些 -l
标志和一个 -L
标志来将一些共享库指定为依赖项。但是,当我用 ldd
查看生成的 .so
时,它显示找不到我链接的库。这是我正在编译的内容:
gcc -std=c99 -fPIC -shared -o lib/libmylib.so src/mylib.o -lmydep -L/path/to/libmydep.so
我发现有用的是,如果我在编译前将 LD_LIBRARY_PATH
设置为路径,它能够找到 -ltest
的库,但尽管我尝试过,但我未能成功从我的 Makefile 中设置 LD_LIBRARY_PATH
,所以这对我来说不是一个可行的解决方案。
编辑:
我已经尝试在我的 Makefile 顶部使用以下内容导出 LD_LIBRARY_PATH
:
... some var definitions ...
LD_LIBRARY_PATH = /path/to/libmydep.so
... some more var definitions ...
export ... some vars ... LD_LIBRARY_PATH
... make targets start here ...
我终于遇到了 this 个问题,@schily 提供的答案对我有用。
我正在使用一些 -l
标志和一个 -L
标志来将一些共享库指定为依赖项。但是,当我用 ldd
查看生成的 .so
时,它显示找不到我链接的库。这是我正在编译的内容:
gcc -std=c99 -fPIC -shared -o lib/libmylib.so src/mylib.o -lmydep -L/path/to/libmydep.so
我发现有用的是,如果我在编译前将 LD_LIBRARY_PATH
设置为路径,它能够找到 -ltest
的库,但尽管我尝试过,但我未能成功从我的 Makefile 中设置 LD_LIBRARY_PATH
,所以这对我来说不是一个可行的解决方案。
编辑:
我已经尝试在我的 Makefile 顶部使用以下内容导出 LD_LIBRARY_PATH
:
... some var definitions ...
LD_LIBRARY_PATH = /path/to/libmydep.so
... some more var definitions ...
export ... some vars ... LD_LIBRARY_PATH
... make targets start here ...
我终于遇到了 this 个问题,@schily 提供的答案对我有用。