主题 : 请教在移植好的linux上跑另外编译的程序需要怎么做? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 75125
精华: 0
发帖: 20
金钱: 100 两
威望: 20 点
贡献值: 0 点
综合积分: 40 分
注册时间: 2012-08-03
最后登录: 2015-07-17
楼主  发表于: 2012-09-13 12:10

 请教在移植好的linux上跑另外编译的程序需要怎么做?

移植好linux了,想问一下,我想在移植好的linux上跑另外编译的程序需要怎么做?
用编译linux和busybox的编译器 gcc-4.3.2来编译,代码如下
#include <stdio.h>
int main()
{
printf("hello world!\n")
}
编译为:
arm-linux-gcc -o main.c a.out
然后通过U盘挂载到板子上,执行 ./a.out 显示以下错误

sh: can't execute './a.out': No such file or directory
前提是,我ls的时候,a.out 是有的。

kernel----->2.6.38
Busybox------>1.20.2

请问怎样才能运行自己另外编译的程序呢?
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
贡献值: 0 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
1楼  发表于: 2012-09-13 18:07
tiny6410建议用配套的gcc 4.5.1
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
贡献值: 0 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
2楼  发表于: 2012-09-14 10:05
如果你的main.c是动态链接的,且rootfs里没有编译器的C库,则必然无法运行
另外还需要检查一下是否有执行权限