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

树莓派编译LCD程序报错:/usr/bin/ld无法找到-llcd

解决树莓派编译LCD程序时cannot find -llcd错误

问题分析

链接器报错/usr/bin/ld: cannot find -llcd,说明编译时指定的-llcd库文件(liblcd.so或liblcd.a)不存在,或者链接器无法检索到它。结合你的代码及已尝试的操作,核心问题是编译命令的库依赖指定错误,或目标库的安装路径未被链接器识别。

解决方案

1. 修正编译命令的库依赖

你的代码使用的是wiringPi框架下的I2C和LCD相关函数,这些功能属于wiringPi核心库,不需要单独链接lcd库。同时代码用到了C++线程,需要额外链接线程库。执行以下命令编译:

g++ your_code.cpp -o lcd_test -lwiringPi -lpthread

2. 验证目标库是否存在(若确实需要liblcd)

如果你的LCD驱动依赖独立的liblcd库,先检查系统中是否存在该库文件:

find /usr -name "liblcd*"
  • 若输出为空:说明该库未正确安装,需重新安装对应驱动库(注意区分lcdproc与wiringPi配套LCD库,二者并非同一组件)
  • 若找到库文件(如/usr/local/lib/liblcd.so):编译时需通过-L指定库路径,例如:
    g++ your_code.cpp -o lcd_test -L/usr/local/lib -llcd -lwiringPi -lpthread
    

3. 避免头文件冲突

检查#include <lcd.h>的归属:

find /usr -name "lcd.h"

如果是wiringPi的头文件,路径通常为/usr/local/include/wiringPi/lcd.h,建议代码中改为#include <wiringPi/lcd.h>,避免和lcdproc的同名头文件冲突。

4. 重新编译安装wiringPi(若库损坏)

若wiringPi库存在损坏,重新编译安装最新版本:

git clone https://github.com/WiringPi/WiringPi.git
cd WiringPi
./build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:16:17