开发 Linux Modules
时编译出错,某些头文件找不到
Linux Modules
编译时出现错误
a.c:123:2: error: implicit declaration of function ‘memset’ [-Werror=implicit-function-declaration]
添加头文件 #include <string.h>
或 #include "string.h"
错误变成
b.c:3:20: fatal error: string.h: No such file or directory
#include <string.h>
^
compilation terminated.
继续修改为 #include <linux/string.h>
解决问题
Modules
编译时 <>
指定的头文件会从 KERNEL PATH
中找,并不是在编译工具链中搜索
../4.0.0/include > fd string.h
asm-generic/string.h
linux/string.h
linux/string_helpers.h
linux/ucs2_string.h
uapi/linux/netfilter/xt_string.h
uapi/linux/string.h
因此需要添加 #include <linux/string.h>