链接动态库?

2020-08-02

很多时候,动态库就是个坑呢~,这里先说一个坑。

ld 会把所有通过-l指定的动态库全部链接进最终的目标程序中, 无论是否真的用到.这会导致额外链接进去一些无用的库.

经常发现这样的情况, 在开发环境编译好的so或exe, 放到环境之后, 会提示加载失败, 原因是缺少某些依赖的so. 最常见的是找不到mysql.so. 因为开发环境有mysql.so, 而生产环境木有.

**解决办法: **

不要通过-l链接无用的so.