欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【complier】如何查看ARM交叉编译的可执行程序依赖的动态库?

程序员文章站 2022-06-20 21:07:10
...

Date: 2018.10.16


1、参考

https://www.aliyun.com/jiaocheng/192929.html

2、在Linux PC上查看arm交叉编译的可执行文件依赖的动态库

    在Ubuntu宿主机上查看ARM交叉编译好的可执行程序和库文件的相关依赖关系,类似于PC linux上的ldd命令。
    在电脑上安装的Linux系统中,有一个ldd命令,可以查看对应的可执行文件或库文件依赖哪些库,但可执行文件或库文件要求与操作系统的编译器类型相同,即电脑是X86的GCC编译器,那么无法通过ldd命令查看ARM交叉编译器编译出来的可执行文件或库文件。 如果想在Ubuntu等Linux宿主机上查看ARM交叉编译好的可执行程序和库文件的相关依赖关系,可以采用下面的命令:

readelf -a  ./program_arm | grep "Shared"
或者:
arm-hisiv500-linux-readelf -a ./program_arm  | grep "Shared"
3、示例
[[email protected]]$ readelf -a  ./mpeg2decode | grep "Shared"
0x000000000000001(NEEDED)             Shared library:[libm.so.6]
0x000000000000001(NEEDED)             Shared library:[libc.so.6]
[[email protected]]$ 

说明:从示例中可以看出,可执行文件mpeg2decode的运行依赖于libm.so.6和libc.so.6。


THE END!