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

树莓派Pico项目CMake无法找到custom_gpio库,链接器报错

问题原因及解决方法

问题核心是根目录的CMakeLists.txt没有触发gpio子目录的构建流程,导致custom_gpio库从未被编译,链接器自然找不到对应的库文件。

具体修复步骤

  1. 修改根目录CMakeLists.txt,添加add_subdirectory(gpio)指令,同时调整pico_add_extra_outputs的参数:
cmake_minimum_required(VERSION 3.13)
include(pico_sdk_import.cmake)
project(test_project C CXX ASM)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)
pico_sdk_init()

# 关键:添加此指令,让CMake处理gpio子目录的构建脚本
add_subdirectory(gpio)

set(SOURCE_FILES main.cpp)

include_directories(${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/gpio)

add_executable(test
${SOURCE_FILES}
)
target_link_libraries(test custom_gpio)

# 仅传入可执行目标test即可,库不需要额外生成UF2输出
pico_add_extra_outputs(test)
  1. 清理现有build目录,重新构建:
cd build
rm -rf ./*
cmake ..
make -j4

原因解释

  • add_subdirectory(gpio)是告诉CMake去解析gpio目录下的CMakeLists.txt,从而编译生成custom_gpio库。没有这一步,CMake完全不知道这个子目录的存在,不会去编译该库。
  • 之前cmake配置阶段没有报错,是因为CMake只做了语法检查和依赖验证,并没有实际编译库文件,直到链接阶段才暴露问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 15:23:08