linux 开发板 ldd,Linux ldd命令

linux 开发板 ldd,Linux ldd命令Linux下的lld命令的主要作用:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。ldd是list,dynamic,dependencies的缩写,列出动态库依赖关系。可以用ldd–help或者manldd来看其用法。可以用which命令找到ldd的位置:$whichldd/usr/bin/ldd使用ldd,往往在制作自己的发行版时经常需要判断某条命…

大家好,又见面了,我是你们的朋友全栈君。

Linux下的lld命令的主要作用:用来查看程式运行所需的共享库,常用来解决程式因缺少某个库文件而不能运行的一些问题。

ldd是list, dynamic, dependencies的缩写,列出动态库依赖关系。可以用ldd –help或者man ldd来看其用法。可以用which命令找到ldd的位置:

$ which ldd

/usr/bin/ldd

使用ldd,往往在制作自己的发行版时经常需要判断某条命令需要哪些共享库文件的支持,以确保指定的命令在独立的系统内可以可靠的运行;

命令语法:

ldd [option]… file…

如下代码:

root@xxhui:/home/hui# ldd /bin/ls

linux-vdso.so.1 (0x00007ffeeffc3000)

libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f8e631c7000)

libacl.so.1 => /lib/x86_64-linux-gnu/libacl.so.1 (0x00007f8e62fbe000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8e62c19000)

libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f8e629a9000)

libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8e627a5000)

/lib64/ld-linux-x86-64.so.2 (0x00005599a18e8000)

libattr.so.1 => /lib/x86_64-linux-gnu/libattr.so.1 (0x00007f8e6259f000)

libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8e62382000)

在 ldd 命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称,右边表示由 Linux 的共享库系统找到的对应的共享库在文件系统中的具体位置。默认情况下,/etc/ld.so.conf 文件中包含有默认的共享库搜索路径。

其中输出的结果分三列,依次为:程序需要依赖的库、系统提供的与程序需要的库所对应的库、库加载的开始地址。

没找到共享库的情况

如果使用 ldd 命令时没有找到对应的共享库文件和其具体位置,可能是以下情况:

共享库没有安装在该系统中;

共享库保存在 /etc/ld.so.conf 文件列出的搜索路径之外的位置。

通常情况下,许多开放源代码的程序或函数库都会默认将自己安装到 /usr/local 目录下的相应位置(如:/usr/local/bin 或 /usr/local/lib),以便与系统自身的程序或函数库相区别。而许多 Linux 系统的 /etc/ld.so.conf 文件中默认又不包含 /usr/local/lib。因此,往往会出现已经安装了共享库,但是却无法找到共享库的情况

具体解决办法如下:

检查 /etc/ld.so.conf 文件,如果其中缺少 /usr/local/lib 目录,就添加进去;注意:在修改了 /etc/ld.so.conf文件或者在系统中安装了新的函数库之后,需要运行一个命令:ldconfig ,该命令用来刷新系统的共享库缓存,即 /etc/ld.so.cache 文件。为了减少共享库系统的库搜索时间,共享库系统维护了一个共享库 so 名称的缓存文件/etc/ld.so.cache。因此,在安装新的共享库之后,一定要运行 ldconfig 刷新该缓存。

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131983.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单片机的定时器_stm32的定时器有几个

    单片机的定时器_stm32的定时器有几个转载于:https://blog.csdn.net/tabactivity/article/details/99649928?depth_1-utm_source=distribute.pc_rele

    2022年8月5日
    6
  • CMDI窗体避免重复打开子窗体的问题

    CMDI窗体避免重复打开子窗体的问题在做 winform 程序的时候 需要用到 MDI 窗体 在网上看了一些避免子窗体重复打开的问题 现在我有一个 MDI 窗体 formfather 以及两个子窗体 form1 和 form2 在父窗体上弄两个按钮 点击按钮 1 的时候显示 form1 点击按钮 2 的时候显示 form2 再一次点击的时候显示 form1 而不是一个新的 form1 下面是我的代码 privatevoidt Cl

    2025年11月6日
    1
  • windows连接Ubuntu16.10中winscp连接被拒绝「建议收藏」

    windows连接Ubuntu16.10中winscp连接被拒绝「建议收藏」这些天在玩Linux上的一些东西,物理机装了Linux,虚拟机也装了。但是很尴尬,完全从Windows上迁移到Linux上还是需要时间的,比如说今天,虚拟机上就碰到了问题。博主想在Windows上装一个winscp。winscp是一款文件传输工具,可以用来做不同系统之间的文件传输。 因为某些需要,博主的虚拟机网卡设置的是host-only模式,这种模式有一个缺点,也应该不算是缺点,在这种模式

    2022年9月17日
    3
  • 推荐一个命名变量的神奇网站 CODELF

    推荐一个命名变量的神奇网站 CODELF推荐一个命名变量的神奇网站CODELF在我们写程序的时候,总是需要去给各种变量命名。于是各种命名大法都上来了,有拼音的,有首字母缩写的,各种各样。而我们推荐的命名肯定是英文的驼峰命名。今天给大家推荐一个网站:https://unbug.github.io/codelf/这个网站可以根据你输入的关键词,给出很多变量命名的推荐。并且支持中文。另外,针对各种主流编辑器,还有插件。非常推荐大家收藏一下这个

    2022年5月4日
    227
  • Android SDK下载和环境变量配置

    Android SDK下载和环境变量配置一.AndroidSDK简介AndroidSDK(SoftwareDevelopmentKit,软件开发工具包)被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。它提供了AndroidAPI库和开发工具构建,测试和调试应用程序。简单来讲,AndroidSDK可以看做用于开发和运行Android应用的一个软件。二.AndroidSDK下载1.国内的Android工具的下载网站:https://www.androiddevtools.

    2022年7月19日
    13
  • RestFul风格详解

    RestFul风格详解文章目录一、前言二、什么是RestFul风格三、传统风格与RestFul风格对比1.传统方式操作资源2.RestFul方式操作资源四、RestFul代码演示1.代码展示2.拓展情景五、使用method属性指定请求类型六、总结一、前言该技术博客总结与狂神说SpringMVC课程二、什么是RestFul风格Restful就是一个资源定位、资源操作的风格。不是标准也不是协议,只是一种风格。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。资源:互联网所有的事物都可以被抽象为资源资源

    2022年6月16日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号