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

Zephyr项目中net_if_get_default未定义引用问题求助

Zephyr WiFi应用编译错误:undefined reference to 'net_if_get_default' 解决方法

问题根源

net_if_get_default是Zephyr网络子系统的核心API,仅包含头文件无法让链接器找到该函数的实现——你必须通过Kconfig配置启用整个网络子系统及相关组件,仅在设备树overlay中开启WiFi硬件是不够的。

修复步骤

  1. 启用基础网络组件
    在项目的prj.conf文件中添加以下配置项:

    CONFIG_NETWORKING=y
    CONFIG_NET_IF=y
    CONFIG_NET_IPV4=y  # 按需启用,也可添加CONFIG_NET_IPV6=y支持IPv6
    
  2. 开启WiFi网络管理组件
    为了让WiFi与网络子系统联动,补充以下配置:

    CONFIG_WIFI=y
    CONFIG_WIFI_MGMT=y
    CONFIG_NET_WIFI=y
    
  3. 修正代码语法错误
    你的main.c中printk的字符串缺少终止符和换行符,应修改为:

    printk("Application start\n");
    

重新编译

完成上述修改后,重新执行编译命令:

west build -b esp32s2_saola .

此时链接器就能找到net_if_get_default的实现,编译应当通过。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:32:08