magiclove444 发表于 2010-7-5 09:32:52

linux移植的step23

在V4.2的Linux移植step by step中的第23步,使用命令make SUBDIR=drivers/char/ modules
编译时产生错误

在教程中给出的应该是2.4内核的写法,可以给出2.6内核的写法吗?

magiclove444 发表于 2010-7-5 11:11:28

自己将destroy拼错了,但是改正之后还是出现了implicit declaration of functionclass_device_destroy 错误

magiclove444 发表于 2010-7-5 16:48:06

我找到了光盘中给出的linux源码程序,结果编译还是有错误,求助!!!

亚瑟王 发表于 2010-7-6 11:23:11

3楼的错误是配置单中选择了firmware的相关选项导致的,取消配置单中的选项即可解决。

magiclove444 发表于 2010-7-6 14:32:29

4# 亚瑟王

请问是在这里修改吗???
可以清楚的说下改那一项吗,我试了试还是有错误

亚瑟王 发表于 2010-7-6 19:57:05

在Linux移植教程的附录5中列出来了这个配置单的配置情况的。请参考Linux移植教程配置。

achyh 发表于 2010-7-9 10:54:02

本帖最后由 achyh 于 2010-7-9 11:07 编辑

我到这一步也出现这个错误,网上查,很多情况下这属于warning错误,为什么到了我们这里是error?
一共两个函数报错:implicit declaration of functionclass_device_create和implicit declaration of functionclass_device_destroy。这两个函数在2.6.30源码包里没有搜到相关定义。

achyh 发表于 2010-7-9 11:55:32

这个问题解决了,手册V4.5第23步23.3节中EmbedSky_leds.c这个驱动函数中的两个函数 class_device_create()和class_device_destroy()的版本太老,这两个函数是在早期2.6版本中的定义,在2.6.30中这两个函数分别改为device_create()和device_destroy(),改过来就可以编译过去了。

亚瑟王 发表于 2010-7-9 19:26:16

是的,2.6.25.8中采用的两个函数和2.6.30.4中采用的函数是不一样的。

feixue2588 发表于 2010-9-10 20:47:21

MARK 8楼的,thanku

feiniaolql 发表于 2010-9-28 15:25:06

8# achyh 问题解决了,非常感谢!

headforever 发表于 2013-1-12 13:23:36

{:2_140:}{:2_140:}{:2_140:}{:2_140:}{:2_148:}{:2_148:}{:2_148:}
页: [1]
查看完整版本: linux移植的step23