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

CMake编译树莓派pigpio项目出现函数未定义引用错误如何解决?

问题原因

该错误属于链接阶段错误,你引入Findpigpio.cmake后仅完成了pigpio路径探测,没有将pigpio的库文件关联到你的项目编译目标上。Findpigpio.cmake执行成功后通常会导出两个核心变量:

  • PIGPIO_INCLUDE_DIR:pigpio头文件所在路径
  • PIGPIO_LIBRARY:pigpio的库文件路径
    你当前的配置没有将pigpio库链接到最终的可执行文件,因此链接器无法找到pigpio相关函数的实现。

修复方案

直接修改你的CMakeLists.txt,添加链接pigpio库的配置即可,修改后完整内容如下:

cmake_minimum_required(VERSION 3.0.0)
project(RPapp C)
include(pigpio/util/Findpigpio.cmake)
include_directories(inc ${PIGPIO_INCLUDE_DIR})
set(CMAKE_C_STANDARD 11)
add_executable(RPapp ${PROJECT_SOURCE_DIR}/src/main.c ${PROJECT_SOURCE_DIR}/src/gpio.c ${PROJECT_SOURCE_DIR}/src/spi.c)
# 新增以下行,将pigpio库链接到你的编译目标
target_link_libraries(RPapp ${PIGPIO_LIBRARY})

生效验证

修改完成后删除旧的构建缓存,重新执行构建流程即可:

rm -rf _build && mkdir _build && cd _build
cmake ..
make

如果修改后仍然报错,可以打开pigpio/util/Findpigpio.cmake文件,查看模块导出的库变量名是否为PIGPIO_LIBRARY,如果是其他名称(比如PIGPIO_LIBRARIES、pigpio_LIBRARY),替换成对应名称即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:48:01