静态库,链接到共享库

Posted

技术标签:

【中文标题】静态库,链接到共享库【英文标题】:Static library, link to a shared library 【发布时间】:2014-07-14 14:48:50 【问题描述】:

我不熟悉使用 Eclipse 和开发将在 Linux(在 ARM 处理器上)上运行的应用程序。我想使用 OpenCV 库(.so 文件)。 我的应用程序包含一个链接到多个静态库的可执行文件。此链接在 IDE 设置(ARM linux g++ 链接器设置)中配置。 我需要在这些静态库之一中使用 openCV。 openCV 库以 .so 文件的形式包含在 Xilinx Eclipse SDK 中。 是否可以从我的静态库中链接到这些库?我不确定如何设置。显然静态库项目中没有g++链接器设置。 感谢您的帮助。

【问题讨论】:

【参考方案1】:

在 linux 上,静态库实际上只不过是一组目标文件拼凑在一起,因此您无法链接它,但您也不需要链接它。因为静态库根本没有链接。

解决方案是将您的最终可执行文件链接到这两个库。您当然可以在静态库中使用 OpenCV 函数,它只会等待稍后解决。

【讨论】:

以上是关于静态库,链接到共享库的主要内容,如果未能解决你的问题,请参考以下文章

静态库和共享库

musl 无法将 libc.a 链接到共享库

Linux静态库和共享库

静态库和共享库

Qt 共享库(动态链接库)和静态链接库的创建及调用

静态和共享库链接器错误