gpt4 book ai didi

c - 构建 Linux 内核模块的问题

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:00 24 4
gpt4 key购买 nike

我在 VMWare 上安装了 Ubuntu。我的目的是在其中构建内核模块。我是初学者。我写了一个基本模块。但我无法使用“Makefile”对其进行编译。我需要修复什么?

C 文件(kernel.c)的内容:-

#include <linux/kernel.h>
MODULE_LICENSE("GPL");

makefile 的内容:-

obj-m+=kernel.o

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

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

最佳答案

Make 使用 TAB 作为分隔符,而不是空格。您的 Makefile 应如下所示编写。

obj-m+=kernel.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

还应该注意 ${PWD} 是一个环境变量。无需 shell out 即可读取环境变量。

关于c - 构建 Linux 内核模块的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43289054/

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