很多时候,动态库就是个坑呢~,这里先说一个坑。
ld 会把所有通过-l指定的动态库全部链接进最终的目标程序中, 无论是否真的用到.这会导致额外链接进去一些无用的库.
经常发现这样的情况, 在开发环境编译好的so或exe, 放到环境之后, 会提示加载失败, 原因是缺少某些依赖的so. 最常见的是找不到mysql.so. 因为开发环境有mysql.so, 而生产环境木有.
解决办法:
不要通过-l链接无用的so.
很多时候,动态库就是个坑呢~,这里先说一个坑。
ld 会把所有通过-l指定的动态库全部链接进最终的目标程序中, 无论是否真的用到.这会导致额外链接进去一些无用的库.
经常发现这样的情况, 在开发环境编译好的so或exe, 放到环境之后, 会提示加载失败, 原因是缺少某些依赖的so. 最常见的是找不到mysql.so. 因为开发环境有mysql.so, 而生产环境木有.
解决办法:
不要通过-l链接无用的so.
本文标题:链接动态库?
本文链接:https://www.haomeiwen.com/subject/dqrbrktx.html
网友评论