静态库链接时的依赖关系和先后顺序

Posted phoenix tree

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了静态库链接时的依赖关系和先后顺序相关的知识,希望对你有一定的参考价值。

1 静态库链接时的依赖关系

静态库之间是有依赖关系的,比如A.lib依赖于B.lib、C.lib、D.lib、E.lib,因为A会使用B、C、D、E中的函数。

2 使用静态库时的先后顺序

是不是B、C、D、E一定要放在A的后面?或者说,如果自己依赖于某个库,那么自己就要放在这个库的后面?

如果是的话,为什么会这样?是所有的链接器都是这样的吗?

MSVC++12.0编译器是不管这个顺序的,gcc的未知。

3 使用静态库时必须注意依赖关系

也就是说,要使用一个lib时,要把它依赖的所有的lib都加上去。

 

以上是关于静态库链接时的依赖关系和先后顺序的主要内容,如果未能解决你的问题,请参考以下文章

通过将同一个库链接两次来解决循环依赖关系?

如何确定最快的链接顺序?

多线程:Operation

opencv静态链接库cmake链接顺序问题

Cmake 库依赖关系的传递

'Pods-App'目标具有传递依赖关系,包括在swift框架中使用GTM时的静态二进制文件