我必须在 Linux 中动态加载 .so,但我发现处理同名库很困难。我在不同的目录中有 2 个 libtest.so,它们依赖于其他不同的库。我的程序读取配置文件来决定加载哪个 libtest.so。例如:
/usr/kyle/v1/libtest.so
/usr/kyle/v2/libtest.so
它们都没有在 ldconfig 中注册。那么如何使用 dlopen 加载不同版本的 libtest.so 呢?我希望它们不会相互冲突,因为它们可能依赖于相同或不同的其他库。似乎在我的程序中使用 putenv/setenv 更改 LD_LIBRARY_PATH 不起作用。