在内核模块上链接Error,Makefile

时间:2017-10-12 13:31:46

标签: makefile module kernel

这是我的 Makefile

obj-m := my-mod.o 
my-mod-objs := my-mod-interrupt.o my-mod-control.o my-mod-fops.o

all:    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules 

clean:  make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

my-mod-fops.c 文件中,我有:

extern void *pcpu_dev;

在文件 my-mod.c 中定义变量。

void *pcpu_dev;

因此,在启动make命令时,我会收到以下警告:

make -C /lib/modules/3.16.0-4-amd64/build M=/home/userx/debian/Coding/Module modules 
make[1]: Entering directory '/usr/src/linux-headers-3.16.0-4-amd64'
make[1]: Entering directory `/usr/src/linux-headers-3.16.0-4-amd64'
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "pcpu_dev" [/home/userx/debian/Coding/Module/my-mod.ko] undefined!
make[1]: Leaving directory '/usr/src/linux-headers-3.16.0-4-amd64'

我认为这是一个链接问题,但我不知道如何修复它。你能救我吗?

0 个答案:

没有答案