c - 添加用户空间头文件以生成文件

标签 c makefile linux-device-driver kbuild

我正在使用 make 构建一个 linux 设备,我需要在我的设备中使用 string.h。我试图添加/usr/include 来制作文件,但它不起作用。任何人都可以帮助我添加另一个包含路径来制作文件。 我的制作文件是

KBUILD_CFLAGS += -w

obj-m += netlinkKernel.o

all:
    make -w -C /lib/modules/$(shell uname -r)/build CPPFLAGS="usr/include/" M=$(PWD) modules

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

最佳答案

那是因为 usr/include/ 不是正确的编译器标志。你需要使用例如-I/usr/include/.

但是,在内核驱动程序中使用来自用户空间的库可能无法像您预期的那样工作,就像根本不能工作一样。内核应该有自己的字符串库(包括 "string.h" 头文件),您应该使用它。

关于c - 添加用户空间头文件以生成文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20269870/

相关文章:

c - UNIX 读取行为

c++ - 让 GNU 使用不同的编译器

c++ - 如何在 Eclipse CDT 中切换调试和发布 Makefile?

linux - Linux内核中init进程是如何启动的?

linux - list_for_each_entry 不起作用

linux-kernel - 内核虚拟地址和内核逻辑地址的区别?

c - 将矩阵的行数重新分配为大于初始值的数字

c - 结构在 C 中产生错误

c - 在C中循环遍历指针数组?

c++ - 我的 makefile 不工作