加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

共享库 – 如何在Linux上控制共享库版本问题?

发布时间:2020-12-13 22:53:04 所属栏目:Linux 来源:网络整理
导读:例如,我创建了一个名为libXXX.so.0.0.0的共享库,其soname为libXXX.so.0.那么,我是否需要创建一个名为libXXX.so.0的符号链接并让它指向真正的共享库?或者我只需要创建一个名为libXXX.so的符号链接? 此外,如果我将库更新为libXXX.so.0.0.1怎么办? 如果我在
例如,我创建了一个名为libXXX.so.0.0.0的共享库,其soname为libXXX.so.0.那么,我是否需要创建一个名为libXXX.so.0的符号链接并让它指向真正的共享库?或者我只需要创建一个名为libXXX.so的符号链接?

此外,如果我将库更新为libXXX.so.0.0.1怎么办?

>如果我在系统库路径上安装共享库,例如
/ lib或/usr/lib,如何更新符号链接?运用
LDCONFIG?
>如果我在当前本地文件夹上安装共享库,如何
更新符号链接?

顺便说一句,如何控制Makefile中的版本问题?我的意思是我需要添加一些命令,如ln -s或ldconfig?

解决方法

是的,创建一个名为libXXX.so.0的符号链接,指向libXXX.so.0.0.0.

如果您希望人们能够构建链接到此库的程序,那么还要创建一个名为libXXX.so的符号链接,指向libXXX.so.0.

libXXX.so.0符号链接将由程序加载器使用,因为这是程序将要查找的soname.

libXXX.so符号链接将在构建程序时由链接器使用,因为根据历史惯例,链接器的工作方式.

Besides,what if I update the library to libXXX.so.0.0.1?

然后重新制作libXXX.so.0符号链接,使其指向libXXX.so.0.0.1.没有什么需要改变.由于libXXX.so符号链接指向libXXX.so.0,它将自动指向新库.

how to update the symlink?

如果您使用某些打包系统(RPM,…)安装新库,则使用打包系统提供的用于管理符号链接的任何功能.如果你只是使用脚本或Makefile节,那么只需rm -f旧的符号链接和ln -s新的符号链接.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读