gpt4 book ai didi

c - 创建 Linux 模块时运行 Makefile(在 C 中)时出错

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

我有下面的代码,我需要编译它。但是,我无法在我的电脑上运行 Makefile

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

int
simple_init(void)
{
printk("Loading module\n");
return 0;
}

void
simple_exit(void)
{
printk("Removing module\n");
}

module_init(simple_init);
module_exit(simple_exit);

MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Simple Module");

生成文件:

obj-m := simple.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)

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

clean:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean

问题是:当我在终端中键入 Make 时,出现以下错误:

make -C /lib/modules/4.4.0-75-generic/build 
SUBDIRS=/home/caiquefortunato/Área de Trabalho/kernel modules
make[1]: Entering directory '/usr/src/linux-headers-4.4.0-75-generic'
arch/x86/Makefile:148: CONFIG_X86_X32 enabled but no binutils support
Makefile:693: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-
protector-strong not supported by compiler
make[1]: *** No rule to make target 'de'. Pare.
make[1]: Leaving directory '/usr/src/linux-headers-4.4.0-75-generic'
Makefile:19: recipe for target 'default' failed
make: *** [default] Error 2

我需要做什么才能让它发挥作用?我需要安装什么吗?

非常感谢您

最佳答案

CONFIG_X86_X32 enabled but no binutils support 错误有几个原因。

1) 编译目录中的空格 <== this is you

2) binutils 未安装

3) 试图用非特权用户编译 root 拥有的内核源目录

关于c - 创建 Linux 模块时运行 Makefile(在 C 中)时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43826321/

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