模块构建失败,错误“没有规则来制定目标”

模块构建失败,错误“没有规则来制定目标”

我正在尝试使用答案中的步骤在文件夹“drivers/md/”中构建模块如何(方法)仅构建一个内核模块?

但我收到以下错误

# make -C /lib/modules/$(uname -r)/build M=drivers/md modules
make: Entering directory '/usr/src/linux-headers-5.0.0-36-generic'
make[2]: *** No rule to make target 'drivers/md/bcache/alloc.o', needed by 
'drivers/md/bcache/bcache.o'.  Stop.
make[1]: *** [scripts/Makefile.build:515: drivers/md/bcache] Error 2
make: *** [Makefile:1614: _module_drivers/md] Error 2
make: Leaving directory '/usr/src/linux-headers-5.0.0-36-generic'

我究竟做错了什么?

答案1

drivers/md/bcache/alloc.o这个错误告诉你,在 make 寻找文件时,你没有可用的文件。你的文件路径通常应该像这样../drivers/md/bcache/alloc.o,或者更好的是,你可以使用 参数添加确切的-I目录gcc

为了得到完整、明确的答案,请将您的 MakeFile 添加到您的 OP

相关内容