码迷,mamicode.com
首页 > 其他好文 > 详细

readelf与动态库

时间:2016-09-27 11:33:33      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

使用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后,需要多少库文件,就拷贝多少!

readelf与动态库

标签:

原文地址:http://www.cnblogs.com/foggia2004/p/5912149.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!