致命错误:linux/module.h:没有那个文件或目录 编译中断。

cc hello.c -o hellohello.c:2:26: 致命错误:linux/module.h:没有那个文件或目录编译中断。make: *** [hello] 错误 1makefileobj-m += hello.oall: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modulesclean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
已经安装了kernel-devel

    obj-m := sys-hook.o        
    sys-hook-objs := hook.o #由于我们的模块叫做hello-yf,所以写hello-yf-objs :=表示该模块由N个模块组成,例如hello-yf-objs := file1.o  file2.o     
            
    KID :=~/android-kernel-2.6/goldfish  
    PWD := $(shell pwd)  #表示当前Makefile所在的路径轿段
  闹渣  ARCH=arm    
    CROSS_COMPILE=arm-eabi-  
    CC=$(CROSS_COMPILE)gcc  
    LD=$(CROSS_COMPILE)ld     
            
    all:  
    make -C $(KID) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) M=${PWD} modules  
          #M=表示在建立模块target的时候,makefile回归到我们模块程序的目录。
            液帆悄
    clean:  
    rm -rf *.o .cmd *.ko *.mod.c .tmp_versions *.order *.symvers

这个是我从网上参考别人的,编译通过了。感觉你的错误有两点:

  1. obj-m := xxx.o

  2.   sys-hook-objs := hook.o由哪些模块组成没写。

    按我说的这个改改,看可以吗?