【complier】如何查看ARM交叉编译的可执行程序依赖的动态库?
程序员文章站
2022-06-20 21:07:04
...
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!