我们编译可执行文件的时候,会链接各种依赖库, 但是怎么知道依赖库的版本正确呢?

下面有几种办法:

  1. ldd 这是比较差的,因为打印结果更与位置相关
  2. dpkg -l | grep libprotobuf 不过需要先通过dpkg 安装,这也是很好的依赖包管理工具
  3. ldconfig -v | grep libprotobuf 最强大的工具
ldconfig: Path `/usr/lib64' given more than once
/usr/X11R6/lib64:
/usr/X11R6/lib:
/usr/x86_64-suse-linux/lib:
/usr/local/lib:
libubsan.so.1 -> libubsan.so.1.0.0
libstdc++.so.6 -> libstdc++.so.6.0.25
libssp.so.0 -> libssp.so.0.0.0
libquadmath.so.0 -> libquadmath.so.0.0.0
libmpx.so.2 -> libmpx.so.2.0.1
libitm.so.1 -> libitm.so.1.0.0
libgomp.so.1 -> libgomp.so.1.0.0
libgcc_s.so.1 -> libgcc_s.so.1
libatomic.so.1 -> libatomic.so.1.2.0
libasan.so.5 -> libasan.so.5.0.0
libzlog.so.1 -> libzlog.so.1.2.9
libprotoc.so.21 -> libprotoc.so.21.0.0
libprotobuf.so.21 -> libprotobuf.so.21.0.0
libprotobuf-lite.so.21 -> libprotobuf-lite.so.21.0.0
libssl.so.1.1 -> libssl.so.1.1
libcrypto.so.1.1 -> libcrypto.so.1.1
libcares.so.2 -> libcares.so.2.3.0
libgrpcpp_channelz.so.1 -> libgrpcpp_channelz.so.1.24.3
libgrpc_unsecure.so.8 -> libgrpc_unsecure.so.8.0.0
libgrpc_cronet.so.8 -> libgrpc_cronet.so.8.0.0
libgrpc.so.8 -> libgrpc.so.8.0.0
libgrpc++_unsecure.so.1 -> libgrpc++_unsecure.so.1.24.3
libgrpc++_reflection.so.1 -> libgrpc++_reflection.so.1.24.3
libgrpc++_error_details.so.1 -> libgrpc++_error_details.so.1.24.3
libgrpc++.so.1 -> libgrpc++.so.1.24.3
libgpr.so.8 -> libgpr.so.8.0.0
libaddress_sorting.so.8 -> libaddress_sorting.so.8.0.0
libboost_thread.so.1.71.0 -> libboost_thread.so.1.71.0
libboost_system.so.1.71.0 -> libboost_system.so.1.71.0
libboost_regex.so.1.71.0 -> libboost_regex.so.1.71.0
libboost_filesystem.so.1.71.0 -> libboost_filesystem.so.1.71.0
libpython3.so -> libpython3.so
libpython3.8.so.1.0 -> libpython3.8.so.1.0
libffi.so.6 -> libffi.so.6.0.4
/usr/local/lib64:
libubsan.so.1 -> libubsan.so.1.0.0
libtsan.so.0 -> libtsan.so.0.0.0
libssp.so.0 -> libssp.so.0.0.0
libquadmath.so.0 -> libquadmath.so.0.0.0
libmpx.so.2 -> libmpx.so.2.0.1
liblsan.so.0 -> liblsan.so.0.0.0
libitm.so.1 -> libitm.so.1.0.0

linux 查看链接库的版本的更多相关文章

  1. Linux 静态链接库和动态连接库

    (0)文件夹 VMware 下安装Ubuntu的吐血经历 零基础学习Shell编程 Linux下的makefile的妙用 Linux调试神器 -- gdb 十分钟学会Python的基本类型 Linux ...

  2. ZeroMQ接口函数之 :zmq_version – 返回ZMQ链接库的版本

    ZeroMQ 官方地址 :http://api.zeromq.org/4-2:zmq_version zmq_version(3)          ØMQ Manual - ØMQ/4.1.0 Na ...

  3. Linux查看系统基本信息、版本信息等

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号 1.uname -a   (Linux查看版本当前操作系统内核信息) 2.cat /proc/version (L ...

  4. Linux查看系统基本信息,版本信息(最全版)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_31278903/article/d ...

  5. linux静态链接库与动态链接库详解

    一顺便说说了哦  通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(e ...

  6. linux静态链接库

    库 库是写好的现有的,成熟的,可以复用的代码.现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常 本质上来说库是一种可执行代码的二进制形式,可以被操作系统载 ...

  7. linux下依赖库的版本问题引起的安装失败:libssl-dev版本问题无法安装 :libssl-dev : 依赖: libssl1.0.0 (= 1.0.1-4ubuntu3) 但是 1.0.1-4ubuntu5.31 正要被安装

    依赖库版本问题引起的安装失败解决方法如下有两种: 1.是由于源需要更新,如下操作: libssl-dev : 依赖: libssl0.9.8 (= 0.9.8o-1ubuntu4) 但是 0.9.8o ...

  8. linux查看系统类型和版本

    首先大致普及下linux系统的版本内容. 1.内核版本和发行版本区别 我的理解,内核版本就是指linux中最基层的代码,版本号如 Linux version 3.10.0-327.22.2.el7.x ...

  9. Linux查看内核和系统版本

    1. 查看内核版本命令: 1) [root@q1test01 ~]# cat /proc/version Linux version 2.6.9-22.ELsmp (bhcompile@crowe.d ...

随机推荐

  1. 错误:selenium.common.exceptions.SessionNotCreatedException: Message: Unable to find a matching set of capabilities

    错误再现 原因:firefox浏览器版本和浏览器驱动版本不匹配 解决办法:卸载高版本浏览器,安装低版本浏览器

  2. C# Stream篇(五) -- MemoryStream

    MemoryStream 目录: 1 简单介绍一下MemoryStream 2 MemoryStream和FileStream的区别 3 通过部分源码深入了解下MemoryStream 4 分析Mem ...

  3. 第七篇:Python3连接MySQL

    第七篇:Python3连接MySQL 连接数据库 注意事项 在进行本文以下内容之前需要注意: 你有一个MySQL数据库,并且已经启动. 你有可以连接该数据库的用户名和密码 你有一个有权限操作的data ...

  4. P 1023 组个最小数

    转跳点:

  5. HDU - 4576 Robot(概率dp+滚动数组)

    题意:所有的格子围成一个圈,标号为1~n,若从格子1出发,每次指令告知行走的步数,但可能逆时针也可能顺时针走,概率都是1/2,那么问走了m次指令后位于格子l~r(1≤l≤r≤n)的概率. 分析: 1. ...

  6. POJ1833 & POJ3187 & POJ3785

    要是没有next_permutation这个函数,这些题觉得还不算特别水,不过也不一定,那样可能就会有相应的模板了.反正正是因为next_permutation这个函数,这些题包括之前的POJ1226 ...

  7. CGridCtrl显示子控件 及事件

    m_Grid.SetCellType(row, , RUNTIME_CLASS(CGridCell)); m_Grid.SetItemText(row, , _T(")); m_Grid.S ...

  8. 关联容器--保存指针时要指定容器的比较类型---引用Effective STL

    无论何时你建立指针的关联容器,注意你也得指定容器的比较类型.大多数时候,你的比较类型只是解引用指针并比较所指向的对象(就像上面的StringPtrLess做的那样).鉴于这种情况,你手头最好也能有一个 ...

  9. 2.7 app的本地化(根据手机的系统进行语言切换)

    首先设计一个基本的界面:系统默认为英文 如图所示: 找到如下路径: res/values/strings/strings.xml 如图所示: 然后点击右上方的open editor 添加需要的字符串如 ...

  10. 浪潮服务器raid5-echo转义说明

    https://jingyan.baidu.com/article/4ae03de3e4c8d33eff9e6bee.html https://wenku.baidu.com/view/3c5dc9a ...