readelf与动态库
使用arm-linux-gcc编译的可执行文件可能会无法在开发板上执行,并提示:-/bin/sh xxx not found
解决办法:
在主机上使用readelf -d xxx 来查看该程序所需要的动态库,比如
[root@localhost key_device]# readelf -d app
Dynamic section at offset 0xf10 contains 25 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libc.so.6] /* 可以得知执行需要libc.so.6库文件 */
0x0000000c (INIT) 0x8384
0x0000000d (FINI) 0x86a8
在交叉编译目录你搜索<find -name 'libc.so.6'>,然后将其拷贝到根文件系统的lib目录下即可.当然readelf后,需要多少库文件,就拷贝多少!
posted on 2016-09-27 11:21 foggia2004 阅读(618) 评论(0) 收藏 举报
浙公网安备 33010602011771号