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

树莓派Pico 2 W SDK中lwip/pbuf.h头文件缺失问题及解决

树莓派Pico 2 W编译时找不到lwip/pbuf.h的问题解决

已验证的解决方案

在CMakeLists.txt中添加以下链接库指令即可解决头文件找不到的问题:

target_link_libraries(${PROGRAM} pico_cyw43_arch_lwip_threadsafe_background)

问题详情

为树莓派Pico 2 W编译程序时,编译器无法识别lwip/pbuf.h头文件。已通过以下命令完整下载包含子模块的SDK:

git clone --recursive https://github.com/raspberrypi/pico-sdk.git

hello_world和blink等基础示例程序可正常编译,但在代码中加入#include "lwip/pbuf.h"后,该头文件始终无法被找到。SDK中pbuf.h的实际路径为:

$PICO_SDK_PATH/lib/btstack/3rd-party/lwip/core/src/include/lwip/pbuf.h
$PICO_SDK_PATH/lib/lwip/src/include/lwip/pbuf.h

这两个路径均未被CMake自动添加到编译包含路径中。

原CMakeLists.txt内容

cmake_minimum_required(VERSION 3.13...3.27)

# initialize the SDK based on PICO_SDK_PATH
# note: this must happen before project()
include(pico_sdk_import.cmake)

project(${PROGRAM})

# initialize the Raspberry Pi Pico SDK
pico_sdk_init()

# Application-specific code goes below:
add_executable(${PROGRAM}
    ${PROGRAM}.c
)

# Add pico_stdlib library which aggregates commonly used features
target_link_libraries(${PROGRAM} pico_stdlib)
target_link_libraries(${PROGRAM} pico_cyw43_arch_none)

# enable usb or uart output
pico_enable_stdio_usb(${PROGRAM} 1)
pico_enable_stdio_uart(${PROGRAM} 0)

# create map/bin/hex/uf2 file in addition to ELF.
pico_add_extra_outputs(${PROGRAM})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 13:52:07