arm执行./hello出现bash: hello: No such file or directory

问题:在虚拟机里编写了一个输出hello,world的代码,代码很简单就不写了。使用交叉编译器编译之后生成可执行文件hello,           放在arm里执行输入  ./hello时却出现bash:No such file or directory。

解决:输入命令chmod 777 hello之后并不能解决问题。在虚拟机里可执行文件目录下输入readelf -a hello,可以看到输出很多信息,其中有一条是Requesting program interpreter: /lib/ld-linux.so.3。而在开发板的lib下也没有发现有ld-linux.so.3文件。说明提示信息说没有文件和目录并不是说没有hello文件,而是没有所需的库。所以我们在开发板里把所需文件加上即可。

        在虚拟机里找到交叉编译器的lib文件,比如我的是Zedboard开发板,交叉编译器是arm-xilinx-linux-gnueabi-gcc。我的文件所在位置是programm/arm-xilinx-linux-gnueabi/libc/lib。文件所在位置由交叉编译器安装位置决定。在lib下可以发现 ld-linux.so.3文件,但是该文件是个链接符号。在lib下打开终端,输入命令ls -l可以发现ld-linux.so.3指向ld-2.13.so。我们复制虚拟机里lib里的ld-2.13.so,可以通过NFS粘到开发板的lib目录下,在开发板lib目录下输入ln -s ld-2.13.so ld-linux.so.3即可创建链接符号。发现即使这样做了可能仍不能解决问题,只是提示的错误变了。干脆把虚拟机lib里的所有文件都拷贝到开发板的lib目录下,链接符号无法复制选择跳过。按照虚拟机里的文件同样在开发板lib里创建所有的链接符号,命令为ln -s  XX XX。虽然麻烦,但是这样之后,就可以顺利执行可执行文件了。

      参考文章:http://www.360doc.com/content/17/0424/21/32407298_648343381.shtml

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值