0

我有两个库:libmy1.so 和 libmy2.so。libmy1.so 很小,需要很大的 libmy2.so 的支持。但是,libmy1.so 只需要 libmy2.so 中的几个函数。有什么方法可以将那里的函数链接到 libmy1.so,以便可以在没有 libmy2.so 的情况下使用 libmy1.so?

4

2 回答 2

1

如果您创建 my2 的静态版本,您可以链接它们,并且 libmy1.so 将包含它需要的 libmy2.a 的内容,从而无需包含两个库。

查看此页面以获取一些指示:.so 和 .a 库示例

于 2013-10-18T10:08:48.407 回答
0

对于需要 libmy2.so 的函数,您也可以使用 dlopen/dlsym。

不幸的是,无法在启动时检查 libmy2.so 的存在。所以当第一次调用需要libmy2.so的函数时,libmy1.so必须加载libmy2.so。

如果 libmy2.so 不存在或无法加载,您将不得不做出一些错误反应。

于 2013-10-18T10:43:28.113 回答