免费注册 查看新帖 |

Chinaunix

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

模块编译问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-03-12 16:34 |只看该作者 |倒序浏览
编译LDD3上的hello world模块例子:

  1. #include <linux/init.h>
  2. #include <linux/module.h>
  3. MODULE_LICENSE("Dual BSD/GPL");

  4. static int hello_init(void)
  5. {
  6.         printk(KERN_ALERT "Hello, World!\n");
  7.         return 0;
  8. }

  9. static void
  10. hello_exit(void)
  11. {
  12.         printk(KERN_ALERT "Goodbye, cruel world!\n");
  13. }
  14. module_init(hello_init);
  15. module_exit(hello_exit);
复制代码

我从内核源码树编译:

  1. $gcc -c -I/usr/src/linux/include hello.c
复制代码

但产生了很多诸如此类的错误:

  1. /usr/src/linux/include/linux/time.h:13: error: syntax error before 'time_t'
  2. /usr/src/linux/include/linux/time.h:13: warning: no semicolon at end of struct or union
  3. /usr/src/linux/include/linux/time.h:15: error: syntax error before '}' token
  4. /usr/src/linux/include/linux/time.h:19: error: syntax error before 'time_t'
  5. /usr/src/linux/include/linux/time.h:19: warning: no semicolon at end of struct or union
  6. /usr/src/linux/include/linux/time.h:20: warning: data definition has no type or
  7. storage class
  8. /usr/src/linux/include/linux/time.h:136: error: field 'it_interval' has incomplete type
  9. /usr/src/linux/include/linux/time.h:137: error: field 'it_value' has incomplete
  10. type
  11. /usr/src/linux/include/linux/time.h:141: error: field 'it_interval' has incomplete type
  12. /usr/src/linux/include/linux/time.h:142: error: field 'it_value' has incomplete
  13. type
  14. In file included from /usr/src/linux/include/linux/sched.h:11,
复制代码

哪位DX能够解说一下???

论坛徽章:
0
2 [报告]
发表于 2006-03-12 16:47 |只看该作者
我的是linux2.6.0

#gcc -I/usr/src/linux-2.6.0/include -Wall -D__KERNEL__ -c hello.c
应该是这样的吧?

是/usr/src/linux版本的文件夹!
我的是在/usr/src里面有2.6.0版的内核源码,内核也是2。6。0的
如果你的是2.4.20-8帽子9的,那么就是/usr/src/linux-2.4.20-8这样的

论坛徽章:
0
3 [报告]
发表于 2006-03-12 16:55 |只看该作者
谢谢你的回答,但是问题依旧~

论坛徽章:
0
4 [报告]
发表于 2006-03-12 17:01 |只看该作者
#include <linux/init.h>
这个去掉
改成
#define MODULE

论坛徽章:
0
5 [报告]
发表于 2006-03-12 17:04 |只看该作者
不去掉也可以
但是#define要照加

论坛徽章:
0
6 [报告]
发表于 2006-03-12 18:41 |只看该作者
还是同样的错误....

论坛徽章:
0
7 [报告]
发表于 2006-03-12 19:05 |只看该作者
内核版本是?
不可能我编译通过要不要发个图片看看?

论坛徽章:
0
8 [报告]
发表于 2006-03-12 21:11 |只看该作者
登陆 su 试试!
不要跟着别人走!

论坛徽章:
0
9 [报告]
发表于 2006-03-13 10:56 |只看该作者
发张图片

10.jpg (33.51 KB, 下载次数: 33)

10.jpg

论坛徽章:
0
10 [报告]
发表于 2006-03-13 11:11 |只看该作者
发张图片

10.jpg (28.66 KB, 下载次数: 32)

10.jpg
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP