Linux 中动态链接库的版本号以及ldconfig

您所在的位置:网站首页 gcc版本号查询 Linux 中动态链接库的版本号以及ldconfig

Linux 中动态链接库的版本号以及ldconfig

2023-08-27 20:04| 来源: 网络整理| 查看: 265

动态链接库的三个名字

1. realname, 真正的名字,一般情况下如果你有版本,应该在后面加上lib[libraryname].so.[version] eg: libtest.so.1.0.0

2. soname, 在编译动态库的时候指定的名字,这个名字将会被添加到动态库的头部,通过readelf -d 可以查看, 这个名字是可以没有的。一般为lib[libraryname].so.i 或 lib[libraryname].so.i.i.

3. linkname, 可执行文件在加载动态库的时候查找的名字,lib[libraryname].so, 后面没有版本号,若soname存在,最后动态库连接到的是soname,若soname不存在,而linkname直接软连接到真正的库名称上面, 可执行文件就将linkname当作soname.

lrwxrwxrwx 1 root root 28 Aug 1 15:59 /usr/local/lib/libopencv_xfeatures2d.so -> libopencv_xfeatures2d.so.3.4 lrwxrwxrwx 1 root root 30 Aug 1 15:59 /usr/local/lib/libopencv_xfeatures2d.so.3.4 -> libopencv_xfeatures2d.so.3.4.2 -rw-r--r-- 1 root root 3090824 Aug 1 22:07 /usr/local/lib/libopencv_xfeatures2d.so.3.4.2

 

上面的例子就阐述了opencv的连接关系 libopencv_xfeatures2d.so 是linkname, 是编译可执行文件的时候查找的名字,

libopencv_xfeatures2d.so.3.4 是 so



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3