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

2024-11-24 09:51:45
推荐回答(1个)
回答1:

    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由哪些模块组成没写。

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