如何将共享库链接到Linux中的其他共享库?

Posted

技术标签:

【中文标题】如何将共享库链接到Linux中的其他共享库?【英文标题】:how to link shared library against other shared library in linux? 【发布时间】:2010-09-02 09:38:06 【问题描述】:

我的应用程序动态加载liba.so(使用dlopen)。liba.so 使用libb.so,所以我想将liba.so 链接到libb.so。 如何在 Linux 中做到这一点?

提前致谢。

【问题讨论】:

【参考方案1】:

如果您自己构建liba.so,则需要将其与-l 选项链接

gcc -o liba.so liba.o -L/libb/path -lb

如果您没有 liba 源,也许您可​​以创建链接到 libalibblibawrapper.so 并动态加载此库

gcc -o libawrap.so -L/liba/ -L/libb/ -la -lb

【讨论】:

以上是关于如何将共享库链接到Linux中的其他共享库?的主要内容,如果未能解决你的问题,请参考以下文章

将静态库链接到共享库(例如openmp)是一个好主意

Linux,共享库使用主程序中的函数而不是其他共享库

Linux:链接共享库时如何使用 .pc 文件?

如何使用 G++/LD 将库链接到共享对象

我需要列出在 UNIX/Linux 中具有链接到它们的指定共享库的程序(如 ldd,反之亦然)

无法链接到 OpenCV (Linux) 的共享库