编译器使用LD_LIBRARY_PATH而不是LIBRARY_PATH

时间:2017-07-10 16:02:09

标签: compiler-errors path linker shared-libraries

这可能吗?从I could gather开始,编译器应该在编译时在LIBRARY_PATH中给出的目录中查找库,但是我编译的这段代码抱怨说在LD_LIBRARY_PATH中设置路径之前它无法找到库。我知道我还没有提供任何具体信息,但我想首先检查一下我的假设:

我尝试编译的是使用lib1.so的可执行文件,而lib1.so又使用lib2.so.它是否有可能在LIBRARY_PATH中查找lib1.so(它是直接链接到可执行文件的那个),而它在LD_LIBRARY_PATH中查找lib2.so(由链接库使用但未直接链接)?在任何情况下:这是常见的行为,还是表示我的makefile中的库依赖项有些尴尬?

编辑:库的编译命令

[list of objects] -fPIC -shared -Wl,-rpath='$ORIGIN/' -l2.so -o lib1.so

0 个答案:

没有答案