Chinaunix首页 | 论坛 | 博客
  • 博客访问: 706358
  • 博文数量: 90
  • 博客积分: 3225
  • 博客等级: 少校
  • 技术积分: 1200
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-20 11:04
个人简介

菩提本无树,明镜变非台 本来无一物,何处惹尘埃

文章分类

全部博文(90)

文章存档

2015年(1)

2014年(12)

2013年(15)

2012年(31)

2011年(8)

2010年(23)

分类: 嵌入式

2010-08-20 20:16:57

 

问题描述

在主机上用交叉编译工具编译的可执行文件,然后放到开放板上,不能运行,出现这种提示“-/bin/sh: ./test: not found 

 

 

问题分析

 

   PC上,用“file”命令查看可执行文件属性为

test: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped”,可以看出文件为elf格式可执行文件格式,运行的目标平台是ARM,采用动态链接。采用动态链接的话,如果开发板上没有相应的库文件,是运行不起来的

 

 

解决方案

 

 用编译时加上“-static”参数,表示静态链接编译。然后再放到目标板上运行。这次就可以了!

心得体会

(注意事项)

 要移植相应的库文件到目标板上,这样,就不会由于静态编译,而产生文件体积大!但移植库文件也会占用一定的存储空间!

 

 

阅读(1511) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~