强制链接器在非标准目录中查找 stdc++

强制链接器在非标准目录中查找 stdc++

我读了很多指导说LD_LIBRARY_PATH在任何其他内容之前先搜索,但我的一个 .so 库正在与libtdc++.so.6链接/usr/lib64

ldd mylib.so:
...
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f82abd18000)
...

我想mylib.so链接到libstdc++.so.6另一个位置,例如/apps/gcc_4.8.0/lib/libstdc++.so.6

所以我补充/apps/gcc_4.8.0/libLD_LIBRARY_PATH才不是但是仍然找不到/usr/lib64它。

更新:

如果我添加:

setenv LD_PRELOAD /apps/gcc_4.8.0/lib/libstdc++.so.6

在我的环境中,不再有链接器错误。是的,但这并不能解决问题。下游用户不会希望依赖这个库位于正确的位置。为什么不先搜索 LD_LIBRARY_PATH!?!

相关内容