在嵌入式上使用ldd命令查看链接的库文件


使用动态库交叉编译生成可执行程序时,经常使用ldd指令来检查可执行程序链接的动态库是否定位到。

而问题是很多嵌入式Linux本身都是不带ldd指令的,所以想办法搞一个ldd上去是很有必要的!


ldd与我们常用的ls、cd不用,ldd只是一个脚本,而ls、cd..都是可执行程序。

这就意味着我们不需要编译,只要修改部分代码就行。

步骤:

  1. 在宿主机(hostPC)上找到ldd脚本,我这里是在/usr/bin目录下,使用编辑器打开

  2. 一般嵌入式设备用的是/bin/sh而不是/bin/bash,所以修改第一行为#! /bin/sh

  3. 修改RTLDLIST变量为当前目标机的动态加载器,我这里是:

    RTLDLIST="/lib/ld-linux-armhf.so.3"
    
  4. 拷贝修改后的ldd文件到目标机的/bin或/sbin/usr/bin目录下


这样开机之后即可使用ldd指令了。Enjoy it!

posted @ 2021-09-29 20:24  cnwanglu  阅读(646)  评论(0编辑  收藏  举报