Linux 中动态链接库的版本号以及ldconfig |
您所在的位置:网站首页 › gcc版本号查询 › Linux 中动态链接库的版本号以及ldconfig |
动态链接库的三个名字 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 |