本文我将深度讲解跨平台开发中遇到的一系列动态库静态库与链接的问题,上层工具链是下层工具是gcc与visual studio. (本文会持续更新,一点一点进步,力求讲清楚依赖关系)
Last update: 20220206
将涉及以下内容:
平台: linux /windows
链接库类型: 动态库,静态库
cmake中的: public, private 以及inteface 接口类型的区别(仅影响linux系统)
----------------------------------------------------------------------------------------------------------------------
我们将讲解深度链接关系,工具链使用以及遇到的问题解决。
- Windows
局部依赖: 每个模块只依赖自己需要的模块,不会传递到上一层模块
- Linux
全局依赖:每个模块的依赖会传递到上层,由最后的可执行程序总体依赖