日期:2014-05-16  浏览次数:20659 次

为什么应用程序必须在目标机上才能运行?
宿主机是ubuntu,目标机是开发板。我在宿主机上写好程序,make后,如果直接运行就会报错。
armcomtest是程序名称。
android@ubuntu:~/work/FriendlyARM/linux-2.6.32.2/examples/comtest$ ./armcomtest 
bash: ./armcomtest: cannot execute binary file

下载到开发板上运行,没问题。

请教这是为什么?

------解决方案--------------------
你的make中调用的是什么编译工具呢?如果是交叉编译工具,那么编译出的程序应该是针对开发板(Arm)的吧。在宿主机(x86)上肯定不能运行。

如果你在宿主机上直接用gcc编译一下(不用make命令),看看编译出的程序是否可以在宿主机上运行。
------解决方案--------------------
同1L
比喻起来就好像在利比亚地区说中文...大家都不懂
同理,在x86主机上运行arm程序...自然也不行...