1、参考BCC的官方安装教程项目文件预览 - bcc - GitCode 配置编译wsl内核
2、编译报错
该报错是因为linux头文件太老了,要更新头文件
参考blog
Linux如何查看内核版本并安装内核头文件linux-headers-generic-CSDN博客
按照bcc官方安装教程中有更新头文件的操作,失败原因在博客中有指出如下
然而并不好使,直接将该行注释掉了 编过了
3、执行缺少Kheaders内核模块
修改config文件打开对应模块
下载对应版本内核,编译modules WSL 运行make提示/lib/modules/xxx/build: No such file or directory. Stop.错误解决办法_5.15.133.1-microsoft-standard-wsl2-CSDN博客
参考在 WSL 2 中连接 USB 存储设备 | DreamCity (littleqiu.net) 将Kheaders作为内核模块编出来
# 作为内核模组编译的话,把模组编译出来,
make -j$(nproc) modules KCONFIG_CONFIG=Microsoft/config-wsl
然后安装模组
make -j$(nproc) modules_install KCONFIG_CONFIG=Microsoft/config-wsl
之后问题解决 bcc helloworld执行成功