0

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

2 回答 2

2

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

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

于 2013-11-28T15:35:57.743 回答
0

似乎我们不能在内核编程中使用标准头文件。谢谢你的帮助

于 2013-11-30T03:14:51.070 回答