linux动态库为啥要链接.so.1

qixingl 2013-11-04 04:36:51
首先编译了一个动态库,生成了好几个文件,有libxx.so,libxx.so.1,libxx.so.1.0,我只留了libxx.so,其它的都删了,
然后,另一个程序需要链接它,但程序运行的时候,提示找不到libxx.so.1,为什么它不是去找libxx.so呢
...全文
3110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxianbin 2013-11-05
  • 打赏
  • 举报
回复
引用 5 楼 beginning1126 的回复:
[quote=引用 3 楼 zhxianbin 的回复:] libxx.so 链接到 libxx.so.1, libxx.so.1 链接到 libxx.so.1.0,libxx.so.1.0 才是真正的动态库,另2个是链接文件,优点是楼上说的 “可以升级动态库,但是不用重新编译应用程序”
接口头文件没变,应该不用重新编译吧。。不甚了解。。。跪求详细解释下。。。多谢[/quote] 不需要重新编译。 就是说 libxx.so.1.0 升级到 libxx.so.1.1时,只需要改变 libxx.so.1 ,将他链接到 libxx.so.1.1 ,应用程序不需要重新编译
beginning1126 2013-11-04
  • 打赏
  • 举报
回复
引用 3 楼 zhxianbin 的回复:
libxx.so 链接到 libxx.so.1, libxx.so.1 链接到 libxx.so.1.0,libxx.so.1.0 才是真正的动态库,另2个是链接文件,优点是楼上说的 “可以升级动态库,但是不用重新编译应用程序”
接口头文件没变,应该不用重新编译吧。。不甚了解。。。跪求详细解释下。。。多谢
max_min_ 2013-11-04
  • 打赏
  • 举报
回复
没有遇到过,看看你的makefile如何生成的! makefile文件!
zhxianbin 2013-11-04
  • 打赏
  • 举报
回复 2
libxx.so 链接到 libxx.so.1, libxx.so.1 链接到 libxx.so.1.0,libxx.so.1.0 才是真正的动态库,另2个是链接文件,优点是楼上说的 “可以升级动态库,但是不用重新编译应用程序”
happy_happy_life 2013-11-04
  • 打赏
  • 举报
回复
后面的跟版本有关,这样的话,你可以升级动态库,但是不用重新编译应用程序了啊
happy_happy_life 2013-11-04
  • 打赏
  • 举报
回复
libXXX.so往往是链接,链接到真实的动态库。。。你这样做,可能是把真正的动态库删掉了哦。。。

23,210

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧