免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3172 | 回复: 6
打印 上一主题 下一主题

求助:编译模块的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-12 15:20 |只看该作者 |倒序浏览
10可用积分
各位高手们好

小弟自己写了几个内核模块,通过往内核源代码中的MakeFile里加语句的方法来编译内核模块(比方说写一个字符型驱动,就在driver/char/下写一个c文件,再改一下相同目录的MakeFile,然后make整个内核)的方法编译就可以使用,

但是,这个方法似乎对某些内核源码的目录不适用(比如说/usb/)现在我想编译/usb/下的usb-skeleton.c,用上述方法就不行(内核编译了,想编译的模块却没编译),用 gcc -Wall -D__KERNEL__ -DMODULE -I/usr/src/kernel-headers-2.4.27-2-386/include -DMODVERSIONS -O2 -c -o usb-skeleton.o usb-skeleton.c 命令手动编译会出如下警告:

[root@localhost usb]# gcc -Wall -D__KERNEL__ -DMODULE -I /usr/src/linux-2.4.20-8/include/ -DMODVERSIONS -O2 -c
-o usb-skeleton.o  usb-skeleton.c
usb-skeleton.c: In function `skel_open':
usb-skeleton.c:241: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c: In function `skel_release':
usb-skeleton.c:294: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c:298: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c:307: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c: In function `skel_read':
usb-skeleton.c:350: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c: In function `skel_write':
usb-skeleton.c:393: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c:406: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c:412: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c:440: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c: In function `skel_ioctl':
usb-skeleton.c:472: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c: In function `skel_write_bulk_callback':
usb-skeleton.c:492: warning: concatenation of string literals with __FUNCTION__ is deprecated
usb-skeleton.c:497: warning: concatenation of string literals with __FUNCTION__ is deprecated
[root@localhost usb]#

请问像这样的模块我应该怎样编译啊?谢谢

论坛徽章:
0
2 [报告]
发表于 2007-04-12 17:38 |只看该作者

回复 #1 mingdai 的帖子

把你修改的Makefile文件贴出来看看?  另外检查一下 .config文件。

论坛徽章:
0
3 [报告]
发表于 2007-04-12 17:46 |只看该作者
原帖由 puppylove 于 2007-4-12 17:38 发表于 2楼  
把你修改的Makefile文件贴出来看看?  另外检查一下 .config文件。

就是在char下的Makefile里加一句obj-y+=***(文件名).o
请问.config文件里检查什么啊?

论坛徽章:
0
4 [报告]
发表于 2007-04-12 18:04 |只看该作者

回复 #1 mingdai 的帖子

但是,这个方法似乎对某些内核源码的目录不适用(比如说/usb/)现在我想编译/usb/下的usb-skeleton.c,用上述方法就不行
       (内核编译了,想编译的模块却没编译)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  什么意思?

[ 本帖最后由 puppylove 于 2007-4-12 18:06 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2007-04-13 09:38 |只看该作者
回楼上的:就是说过去我编译模块都需要编译整个内核(就是写什么样的模块就改相应目录下的Makefile,然后在源码的根目录下make),现在这个方法对Usb目录好像无效。

论坛徽章:
0
6 [报告]
发表于 2007-04-13 18:04 |只看该作者

回复 #5 mingdai 的帖子

手头没有条件实验你的情况,所以也没法提供进一步的回复。不过我建议你仔细读一下kbuid系统的帮助。

论坛徽章:
0
7 [报告]
发表于 2007-04-16 11:41 |只看该作者
谢楼上,我再研究研究看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP