我有一个名为
如果我只
但是,如果我以
为什么dlopen函数不支持RTLD_LOCAL选项?
A.so
的文件,它链接到一个特定版本的 libstdc++.so.6
,该库在其自己的目录中(通过将 rpath
设置为 $ORIGIN
)。如果我只
dlopen
A.so
,那么它可以正常工作。但是,如果我以
RTLD_LOCAL
模式打开系统中不同版本的 libstdc++.so.6
,然后再打开 A.so
,就会出现问题。OSError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by A.so)
为什么dlopen函数不支持RTLD_LOCAL选项?