今天在對驅(qū)動進行編譯時,出現(xiàn)了一個警告信息
WARNING: modpost: missing MODULE_LICENSE() in .....
檢查驅(qū)動發(fā)現(xiàn)昌执,驅(qū)動中已經(jīng)添加了MODULE_LICENSE("GPL v2");
跨蟹,但為什么還會提示缺少MODULE_LICENSE()呢
當檢查Makefile
的時候,發(fā)現(xiàn)MODULE的名字和需要編譯的文件名重名了瞪慧。
image.png
當重名時夹囚,編譯信息如下:
CC [M] /root/drv/test_func.o
LD [M] /root/drv/test_drv.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: modpost: missing MODULE_LICENSE() in /root/drv/test_drv.o
see include/linux/module.h for more information
CC [M] /root/drv/test_drv.mod.o
LD [M] /root/drv/test_drv.ko
將Makefile中的MODULE的名字改為 test,信息編譯如下
CC [M] /root/drv/test_func.o
CC [M] /root/drv/test_drv.o
LD [M] /root/drv/test.o
Building modules, stage 2.
MODPOST 1 modules
CC [M] /root/drv/test.mod.o
LD [M] /root/drv/test.ko
上面的編譯信息可以看到穴翩,當重名時成洗,只編譯了一個文件 CC [M] /root/drv/test_func.o
,當不重名時藏否,編譯了兩個文件CC [M] /root/drv/test_func.o
和
CC [M] /root/drv/test_drv.o