一直疑惑一个事情,cmake 在编译依赖库的时候有一些动态库的链接会出现不同的情况
链接库的方式都是通过指定链接库的在工程目录里的路径,编译时没有问题说明库的摆放位置是能搜索到的,但是运行时会有两种情况
- 一些依赖库如 opencv 或者常见的三方库,用上述方法链接生成的 so 库通过 ldd 是能够将编译时的路径都找到的(与生成的 so 不在同一文件夹)
- 另外一些依赖库如 protobuf yaml 等等,用上述方法链接生成 so 库,ldd 时却找不到 protobuf yaml 的依赖库或者指向系统路径
这样的区别是什么呢?来源于使用方法还是三方库的生成方法
