You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已包含头文件仍报Undefined reference:eBPF用户态程序编译失败求助

解决libbpf函数未定义引用问题

编译用户态程序时出现bpf_xdp_attach、bpf_object__load等函数未定义引用,核心原因是gcc编译时未显式链接libbpf库——头文件仅提供函数声明,链接阶段需要找到库文件中的函数实现。

解决方法:

  • 直接在编译命令中添加-lbpf参数,指定链接libbpf库:
    gcc -o xdp_pass_user xdp_pass_user.c -lbpf
    
  • 如果系统中libbpf库安装在非标准路径,需额外用-L指定库目录(比如常见的/usr/lib/x86_64-linux-gnu):
    gcc -o xdp_pass_user xdp_pass_user.c -L/usr/lib/x86_64-linux-gnu -lbpf
    
  • 更可靠的方式是用pkg-config自动获取编译和链接参数,避免路径问题:
    gcc -o xdp_pass_user xdp_pass_user.c $(pkg-config --cflags --libs libbpf)
    

内容的提问来源于stack exchange,提问作者Peor234

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:35:16