gpt4 book ai didi

linux - 制作 : no rule to make target

转载 作者:太空狗 更新时间:2023-10-29 12:18:08 30 4
gpt4 key购买 nike

我写了一个简单的 linux 模块及其 make 文件

这是我的模块

    #include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>

MODULE_LICENSE("Dual BSD/GPL");

static int hello_init(void) {
printk("<1> Hello world!\n");
return 0;
}

static void hello_exit(void) {
printk("<1> Bye, cruel world\n");
}

module_init(hello_init);
module_exit(hello_exit);

这是我的文件

    obj-m :=Hello.o


KDIR = /usr/src/linux-headers-3.5.0-17

all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

clean:
rm -rf *.o *.ko *.mod.* *.symvers *.order

当我执行 make -f MakeFile 时它给出以下 o/p

make -C /usr/src/linux-headers-3.5.0-17 SUBDIRS=/home/linux/Desktop modules
make[1]: Entering directory `/usr/src/linux-headers-3.5.0-17'

WARNING: Symbol version dump /usr/src/linux-headers-3.5.0-17/Module.symvers
is missing; modules will have no dependencies and modversions.

scripts/Makefile.build:44: /home/linux/Desktop/Makefile: No such file or directory
make[2]: *** No rule to make target `/home/linux/Desktop/Makefile'. Stop.
make[1]: *** [_module_/home/linux/Desktop] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.5.0-17'
make: *** [all] Error 2

谁能告诉我如何消除这些错误。提前致谢

最佳答案

在您的 Makefile 中进行以下更改

首先通过输入 uname -a 检查正在运行的内核

然后进入cd/usr/src/

然后检查你的 linux 源代码名称

例如

uname -a Linux vinay-VirtualBox 3.2.0-50-generic-pae #76-Ubuntu SMP 星期二 7 月 9 日 19:24:55 UTC 2013 i686 i686 i386 GNU/Linux

这里它的源代码名称是 linux-headers-3.2.0-50-generic-pae你的情况也一样例如

linux-headers-3.2.0-23 linux-headers-3.2.0-23-generic-pae所以使用 linux-headers-3.2.0-23-generic-pae 而不是linux-headers-3.2.0-23 即在您的 makefile 中替换相同内容

即 KDIR=/usr/src/linux-headers-3.5.0-17-generic-pae

或者为了避免以上问题使用
KDIR ==/lib/modules/$(shell uname -r)/build

PWD := $(shell pwd)
KDIR == /lib/modules/$(shell uname -r)/build

$(MAKE) -C $(KDIR) M=$(PWD) modules

关于linux - 制作 : no rule to make target,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19347448/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com