这可能吗?从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