报错内容:
drivers/char/irqk.o: In function `init_module':
irqk.c:(.init.text+0x0): multiple definition of `init_module'
drivers/char/edmak.o:edmak.c:(.init.text+0x0): first defined here
drivers/char/irqk.o: In function `cleanup_module':
irqk.c:(.exit.text+0x0): multiple definition of `cleanup_module'
drivers/char/edmak.o:edmak.c:(.exit.text+0x0): first defined here
drivers/char/dm365mmap.o: In function `init_module':
dm365mmap.c:(.init.text+0x0): multiple definition of `init_module'
drivers/char/edmak.o:edmak.c:(.init.text+0x0): first defined here
drivers/char/dm365mmap.o: In function `cleanup_module':
dm365mmap.c:(.exit.text+0x0): multiple definition of `cleanup_module'
drivers/char/edmak.o:edmak.c:(.exit.text+0x0): first defined here
drivers/char/cmemk.o: In function `init_module':
cmemk.c:(.init.text+0x0): multiple definition of `init_module'
drivers/char/edmak.o:edmak.c:(.init.text+0x0): first defined here
drivers/char/cmemk.o: In function `cleanup_module':
cmemk.c:(.exit.text+0x0): multiple definition of `cleanup_module'
drivers/char/edmak.o:edmak.c:(.exit.text+0x0): first defined here
make[6]: *** [drivers/char/built-in.o] Error 1
Makefile部分配置,直接编译到内核:
obj-y += edmak.o
obj-y += irqk.o
obj-y += dm365mmap.o
obj-y += cmemk.o
麻烦各位帮忙看看,thx
Chris Meng:
你好,
编译到内核里应该在menuconfig里面不配置为M而是*。
如果ko在加载的时候应有参数输入的,不建议编译到内核里面。
lious liu:
回复 Chris Meng:
修改obj_y 为 m后编译仍然报错;
原来的dvsdk版本是2.10,用3.0版本替换后重新编译后,时间紧急,没有比较两个版本的Kconfig 和 makefile的具体区别
谢谢chris meng