免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: xuxd32
打印 上一主题 下一主题

gcc -D_KERNEL_ -DMODULE -DLINUX -I /usr/src/linux-2.4/include [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-09-18 12:46 |只看该作者
原帖由 xuxd32 于 2007-9-18 12:16 发表
没有编译内核。没有编译内核。



当然要下一个内核来编译才可以的. 建议你下一个内核来编译, 然后 -I 参数就指向你编译的内核的那个目录. 然后重启进入新内核就可以了.

论坛徽章:
0
12 [报告]
发表于 2007-09-18 13:07 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
13 [报告]
发表于 2007-09-18 13:15 |只看该作者
原帖由 xuxd32 于 2007-9-18 12:16 发表
没有编译内核。没有编译内核。


2.4下不用编译内核,2.6下才需要的。
2.4下需要下载对应版本内核的头文件,好像是linux-header什么的,LZ可以去Google一下2.4内核下驱动动程序的编译方法,肯定可以解决你的问题。

论坛徽章:
0
14 [报告]
发表于 2007-09-18 13:17 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
15 [报告]
发表于 2007-09-18 13:19 |只看该作者
原帖由 xuxd32 于 2007-9-18 13:07 发表
对不起,我不太懂哟。是不是在网上下载一个我的lnux-2.4-18的内核源文件。然后拷在一个目录下。如: /usr/src/local下。
运行gcc -D_KERNEL_ -DMODULE -DLINUX -I /usr/src/local -c -o file.o file.c
是不是呀 ...


嗯.是的,先在www.kernel.org上面去下载一个内核放到一个目录下,如/usr/src/local/

在网上给你找了一份2.4内核编译的方法, 你可以看看.
http://blog.chinaunix.net/u/23204/showart.php?id=161977

现在2.6的编译方法就更方便,直接就是
make mrproper
make menuconfig
make
make install
reboot
这几个命令就可以了. 我记得2.4的好像要复杂一点.

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
16 [报告]
发表于 2007-09-18 13:22 |只看该作者
网上关于如何编译2.4或者2.6下驱动程序,以及如何配置内核有很不同程度的说明,LZ只需搜索一下,然后找到比较详细的文章,自己多尝试一下。
如果想尝试2.6下的内核编译及驱动加载,我之前写过一篇总结,LZ可以参考一下:
http://linux.chinaunix.net/bbs/v ... p;highlight=Godbach

论坛徽章:
0
17 [报告]
发表于 2007-09-18 13:24 |只看该作者
原帖由 xuxd32 于 2007-9-17 17:04 发表
gcc -D_KERNEL_ -DMODULE -DLINUX -I /usr/src/linux-2.4/include -c -o globalvar.o globalvar.c
执行错误。

我的第一个字符驱动编程。不知怎样编译。网上找了一文章。可是照做时。出现错误。请大侠指点。多谢


-D__KERNEL__

是两个下划线,你好像只有一个下划线,不知道是不是这个原因,你试一下.

论坛徽章:
0
18 [报告]
发表于 2007-09-18 13:26 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
19 [报告]
发表于 2007-09-18 13:31 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
20 [报告]
发表于 2007-09-18 13:37 |只看该作者
原帖由 xuxd32 于 2007-9-18 13:26 发表
编译模块
值得说明的是,编译模块的make file的文件名必须是Makefile,而不能是makefile

Makefile的代码
代码:
ifneq ($(KERNELRELEASE),)
obj-m := helloworld.o
else
KERNELDIR ?= /lib/modu ...


上面说的时2.6下编译的方法,LZ首先要确定你的内核版本号,然后去找相应版本内核及驱动的编译方法。

2.4和2.6的方法是不一样的,要搞清楚,
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP