主题 : hello程序放到Mini2440上面跑不了???急求解答!!!! 复制链接 | 浏览器收藏 | 打印
编程路慢慢而长远,吾将上下而求索!
级别: 新手上路
UID: 4599
精华: 0
发帖: 37
金钱: 205 两
威望: 73 点
综合积分: 74 分
注册时间: 2009-03-21
最后登录: 2018-08-27
楼主  发表于: 2011-11-21 12:00

 hello程序放到Mini2440上面跑不了???急求解答!!!!

hello.C文件内容如下:
复制代码
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.     printf("hello, FriendlyARM!\n");
  5. }


makefile文件内容如下:
复制代码
  1. CROSS=arm-linux-
  2. all: hello
  3. hello:
  4.     $(CROSS)gcc -o hello hello.c
  5. clean:
  6.     @rm -vf hello *.o *~



在ubuntu下面编译生成了hello文件,通过U盘放到mini2440里面,挂载U盘之后可以看到该文件,然后执行它,显示/bin/sh: ./hello:not found
去网上查,有人说是静态编译造成的,于是在在makefile中加入static选项,改为如下

复制代码
  1. CROSS=arm-linux-
  2. all: hello
  3. hello:
  4.     $(CROSS)gcc -o hello -static hello.c
  5. clean:
  6.     @rm -vf hello *.o *~


生成新的hello文件,重新通过U盘执行之,则显示:segmentation fault

请问这是什么问题?

是不是因为开发板的系统中没有自带bash?

我查了开发板的bin目录下,的确没有bash文件

如果是这个原因,该怎么解决?从ununtu中拷一个bash过去可以用吗?

急求解答!!!!
我发誓要活到一百岁,如果活不到,我就去死!
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2011-11-21 15:21
可能你的编译器版本不对
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
编程路慢慢而长远,吾将上下而求索!
级别: 新手上路
UID: 4599
精华: 0
发帖: 37
金钱: 205 两
威望: 73 点
综合积分: 74 分
注册时间: 2009-03-21
最后登录: 2018-08-27
2楼  发表于: 2011-11-21 19:22
版主果然厉害,我查了整整一个下午,最后发现的确是编译器版本过旧造成
我电脑上的编译器版本比较新,最后把开发板上的linux升级成最新版就可以用了
此帖可结
我发誓要活到一百岁,如果活不到,我就去死!