2410 开发板上运行可执行文件问题

[复制链接]
3473|14
 楼主| explor 发表于 2007-9-27 16:44 | 显示全部楼层 |阅读模式
目标机&nbsp;linux&nbsp;2.6.15&nbsp;交叉编译器&nbsp;3.4.3,编译好hello的打印程序,复制到2410开发板上不能执行?请教!<br />
wangkj 发表于 2007-9-27 16:47 | 显示全部楼层

ls -al你看看

ldd&nbsp;&nbsp;hello&nbsp;看看
宇宙飞船 发表于 2007-9-27 16:55 | 显示全部楼层

先把主机上的LDD脚本拷过去才能用!

LDD是查看HELLO的关联动态库的,
 楼主| explor 发表于 2007-9-27 17:49 | 显示全部楼层

能具体提示

问楼上的LDD脚本一般在什么目录,刚学这不是很清楚,按照上面提示,做如图:
wangkj 发表于 2007-9-27 18:10 | 显示全部楼层

看我的fdisk教学贴,里面有答案

  
 楼主| explor 发表于 2007-9-28 08:48 | 显示全部楼层

问wangkj

你好!你发表的&nbsp;fdisk教学贴名是什么,论坛不能模糊查找?还有我这个问题怀疑是文件系统有问题。之前用开发商的2.6内核文档中的文件系统下载时,nfs挂载文件系统成功后出现RPC&nbsp;101&nbsp;erro&nbsp;错误,不能进入控制台烧录文件系统,只好用原来2.4的文档中的资料,但也要修改,怀疑改的还有问题的。问:根文件系统和内核版本有什么联系吗?
wangkj 发表于 2007-9-28 08:53 | 显示全部楼层

RPC 是nfs 服务器没配置好

kernel加载文件系统,如果kernel没有对应的fs类型,就不能加载。<br />详细解释太长了,找浙大的那本书好好看看。<br /><br />fdisk&nbsp;就在本页面
wangkj 发表于 2007-9-28 08:54 | 显示全部楼层

fdisk

https://bbs.21ic.com/club/bbs/list.asp?boardid=35&page=1&t=2695385&tp=%u5982%u4F55%u628Apc%u4E0A%u7684linux%u547D%u4EE4%u79FB%u690D%u8FC7%u6765%u3002%28%u4EE5fdisk%u4E3A%u4F8B%u5B50%29 <br /> 相关链接:<a href='https://bbs.21ic.com/club/bbs/list.asp?boardid=35&page=1&t=2695385&tp=%u5982%u4F55%u628Apc%u4E0A%u7684linux%u547D%u4EE4%u79FB%u690D%u8FC7%u6765%u3002%28%u4EE5fdisk%u4E3A%u4F8B%u5B50%29'>https://bbs.21ic.com/club/bbs/list.asp?boardid=35&page=1&t=2695385&tp=%u5982%u4F55%u628Apc%u4E0A%u7684linux%u547D%u4EE4%u79FB%u690D%u8FC7%u6765%u3002%28%u4EE5fdisk%u4E3A%u4F8B%u5B50%29</a>
宇宙飞船 发表于 2007-9-28 09:18 | 显示全部楼层

首先得弄清楚基本的流程步骤,

1。先在主机上用命令:file&nbsp;hello&nbsp;查看是否已经用了目标板的ARM编译器交叉编译。若果是ARM编译器编译将会有ARM的信息显示。<br /><br />2。把执行文件拷到目标机上,顺便把LDD脚本也拷一份,<br /><br />3。启动目标机,加载启动,在目标机下运行ldd&nbsp;hello&nbsp;,将会看到有关的动态库,少哪个就补那。<br /><br />这个步骤俺当时可没人教,俺也没发贴问人,自已摸索出来的,只用了半天时间,快吧?只因俺手头上有一本LINUX指令辞典,这一招就传给你这个菜鸟。<br /><br />注:LDD的存放地址用:whereis&nbsp;ldd&nbsp;&nbsp;查找就可确定。&nbsp;<br />俺的放在主机上的&nbsp;/usr/bin/ldd
 楼主| explor 发表于 2007-9-29 16:11 | 显示全部楼层

真是谢谢各位高手

file&nbsp;hello&nbsp;看到for&nbsp;linu&nbsp;2.4的,我目标机上用的是linux&nbsp;2.6内核的,这样的影响大吗?用的交叉编译器是&nbsp;gcc-3.4.3&nbsp;&nbsp;?
wangkj 发表于 2007-9-29 16:17 | 显示全部楼层

内核的版本和应用程序无关

内核的版本通常理论上也和gcc版本无关。内核肯定和glibc无关,但是,应用程序必须和glibc一致。
 楼主| explor 发表于 2007-9-29 16:51 | 显示全部楼层

glibc ??

1.我是按照开发板提供的文档中安装交叉编译环境,就是将GCC&nbsp;-3.4.3解压到/usr/local/arm下,再增加环境变量。没有提到glibc,看网上有的交叉编译环境建立很繁琐的,但不知道为什么文档中只是这么做的??<br />2.上面图提示的&nbsp;for&nbsp;GNU/LINUX&nbsp;2.4.17的产生是和编译器有关的?
andante 发表于 2007-10-9 08:00 | 显示全部楼层

静态编译hello, 试下看看

如果静态编译,还是同样的问题,这个偶也不清楚什么问题。<br /><br />如果静态编译,可以执行,说明是所使用的编译器的库版本与rootfs中的库版本不一致,所以才会出现莫名其妙的问题。<br /><br />建议:保证编译应用程序(包括rootfs)、内核使用的编译器库版本与rootfs中的库版本一致。不一致的话,极有可能会出现莫名其妙的问题。
 楼主| explor 发表于 2007-10-9 08:57 | 显示全部楼层

回复

晕,还不知道静态编译怎么实现,请提示一下,谢谢!
andante 发表于 2007-10-9 12:33 | 显示全部楼层

修改 Makefile

修改Makefile,&nbsp;增加&nbsp;--static
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

107

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部