首页 > 解决方案 > 在 C 中包含内核头文件的错误,使用 clang 编译

问题描述

我正在编写一个 eBPF 代码。我需要使用bpf_obj_pin在内核文件中声明的函数:

从这里参考:https ://elixir.bootlin.com/linux/latest/ident/bpf_obj_pin

所以从同一个文件中,我发现我必须将它包含在我的标题中。

#include <bpf/bpf.h>

但我收到以下错误

clang -O2 -target bpf -I/usr/include/x86_64-linux-gnu -c bpf1.c -o bpf1.o
bpf1.c:10:10: fatal error: 'bpf/bpf.h' file not found
#include <bpf/bpf.h>
         ^~~~~~~~~~~
1 error generated.
makefile:21: recipe for target 'bpf1.o' failed
make: *** [bpf1.o] Error 1

标签: bpf

解决方案


推荐阅读