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

下面有几种办法:

  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. 新手学Java,有哪些入门知识点?

    很多小伙伴们在刚接触Java的时候,会有些迷茫,不知道该从哪里入手,不管是做前端还是后端,程序员都会用到JAVA,那该掌握哪些必要的基础知识呢.今天就跟大家分享新手学Java,有哪些入门知识点? 下面 ...

  2. NumPy 基于已有数据创建数组

    原文:Python Numpy 教程 章节 Numpy 介绍 Numpy 安装 NumPy ndarray NumPy 数据类型 NumPy 数组创建 NumPy 基于已有数据创建数组 NumPy 基 ...

  3. poj 1330 Nearest Common Ancestors 求最近祖先节点

    Nearest Common Ancestors Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 37386   Accept ...

  4. 关于博主 5ab

    博主是 5ab,一个 ZJ 初一大蒟蒻. 以 5ab 及类似名号在各大 OJ 出没. 欢迎来到 5ab 这个超级大蒟蒻的博客!!! My luogu blog 关于 5ab 的码风 大括号换行!!! ...

  5. oracle函数创建与调用

    函数的定义: CREATE OR REPLACE FUNCTION FUNCTION_TEST(PARAMER1 IN VARCHAR, -- 参数的类型不写长度 PARAMER2 OUT VARCH ...

  6. 基础语法-循环结构do...while

    基础语法-循环结构do...while 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.do...while语句格式 do{ 执行语句; }while(条件表达式); 温馨提示: ...

  7. UVA - 11212 Editing a Book(IDA*算法+状态空间搜索)

    题意:通过剪切粘贴操作,将n个自然段组成的文章,排列成1,2,……,n.剪贴板只有一个,问需要完成多少次剪切粘贴操作可以使文章自然段有序排列. 分析: 1.IDA*搜索:maxn是dfs的层数上限,若 ...

  8. 【Vue中的坑】Vue打包上传线上报Uncaught SyntaxError: Unexpected token <

    今天在vue打包上传线上后,报一下错误,一下就懵了,这可咋整啊,一如既往的想都没想就开始复制错误,上网开搜 Uncaught SyntaxError: Unexpected token < Un ...

  9. ROS常见问题(一) 安装ROS时sudo rosdep init指令报错 最全解决方法

    安装ROS时sudo rosdep init指令报错: ERROR: cannot download default sources list from: https://raw.githubuser ...

  10. json解析精度问题

    由于后台传过来的值是float或者double类型,解析之后作为对象放到字典或数组里面,被转成nsstring或者nsnumber会有一定的误差,很正常 解决办法,通过NSNumberFormatte ...