我正在使用 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/