iam*_*aza 1 linux fedora linux-device-driver linux-kernel
我已经为 linux 内核编写了一个测试模块。这个模块需要头文件<linux/config.h>和<asm/system.h>. 当我发布时make,它给了我错误fatal error: linux/config.h: No such file or directory
,如果我评论config.h标题,它会
以同样的方式显示asm/system.h: No such file or directory。我尝试搜索问题并遇到了这些标题属于 tikernel-headers包的解决方案。我安装了这个包(虽然它已经安装在我的系统上)。但是后来找不到这两个标题。我找到了autoconf.h从/usr/src/路径软链接的解决方案,但不幸的是我找不到安装在此路径上的任何 headers 文件夹。谁能告诉我我的代码哪里有问题?我使用的是 F20 操作系统,内核版本是 3.12.9-301.fc20.x86_64。
似乎您的 Makefile 不知道在哪里搜索内核头文件。您可以尝试使用此 Makefile 吗:只需键入make,它就会使用当前正在运行的内核的内核头文件进行构建。
# Run this Makefile as follows:
# (MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
#
KDIR= /lib/modules/$(shell uname -r)/build
obj-m := test.o
all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
install:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules_install
depmod -a
clean:
rm -f *~
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7229 次 |
| 最近记录: |