当前位置: 首页 > news >正文

解决H616编译路径问题

从错误信息 /usr/lib/gcc/aarch64-linux-gnu/7/../../../../lib/libwiringPi.so: file not recognized: File truncated 可以看出,链接器在尝试使用 libwiringPi.so 时发现文件被截断(损坏)。以下是解决步骤:

1. 验证库文件完整性

检查 libwiringPi.so 文件是否完整:

file /usr/lib/libwiringPi.so

如果输出显示 truncated 或 corrupted,说明文件已损坏。

2. 重新安装 wiringPi

卸载现有损坏版本并重新安装:

sudo apt-get purge wiringpi  # 卸载
sudo rm /usr/lib/libwiringPi.so*  # 手动删除残留文件(如果存在)
sudo apt-get update
sudo apt-get install wiringpi  # 重新安装

3. 使用源码安装(推荐)

如果 apt 安装的版本不兼容全志 H616,使用专为 Orange Pi 适配的版本:

git clone https://github.com/orangepi-xunlong/wiringOP.git  # 克隆仓库
cd wiringOP
./build clean  # 清理
./build        # 编译安装
sudo ldconfig  # 更新库缓存

4. 检查库路径

确认新库的路径(通常为 /usr/local/lib),并确保链接器能找到:

echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/local.conf
sudo ldconfig

5. 修复编译命令

在 build.sh 脚本中显式指定库路径:

gcc beep.c -o beep -I/usr/local/include -L/usr/local/lib -lwiringPi

或直接链接完整路径:

gcc beep.c -o beep /usr/local/lib/libwiringPi.so

6. 检查文件系统错误

如果问题持续,检查存储设备是否有坏块:

sudo fsck /dev/mmcblk0p2  # 替换为实际分区

7. 验证硬件问题

如果频繁出现文件损坏,可能是 SD 卡故障,尝试更换存储介质。

总结步骤

# 1. 卸载并重装
sudo apt-get purge wiringpi
sudo rm -f /usr/lib/libwiringPi.so*
sudo apt-get install wiringpi# 2. 若无效,源码安装
git clone https://github.com/orangepi-xunlong/wiringOP.git
cd wiringOP
./build clean
./build
sudo ldconfig# 3. 修复编译命令(在 build.sh 中)
gcc beep.c -o beep -lwiringPi -L/usr/local/lib

完成后再运行 ./build.sh 即可解决链接器报错问题。

验证指令: gpio readall
如下方所示,外设库就完成安装了

http://www.dtcms.com/a/329292.html

相关文章:

  • 第一章 OkHttp 是怎么发出一个请求的?——整体流程概览
  • dp+e2e论文词汇积累自查
  • Microsoft Whiteboard功能深度解析:企业协作与创意管理的智能画布
  • ce找基地址简单版
  • 如何准备一场技术演讲
  • Unity新手制作跑酷小游戏详细教程攻略
  • C语言相关简单数据结构:顺序表
  • 【QT】QT实现鼠标左右滑动切换图片
  • 云下的rocketMq切换为阿里云RocketMq报错:No route info of this topic
  • sensor的成像波长和量子效应
  • 全面深入-JVM虚拟机
  • 多语言文本 AI 情感分析 API 数据接口
  • scikit-learn/sklearn学习|岭回归linear_model.Ridge()函数解读
  • 蓝桥杯备赛 按键、LCD、定时器
  • 变分自编码器VAE的Pytorch实现
  • 兰洋科技获第四届宁波市专利创新大赛殊荣,以液冷技术定义行业新标杆
  • 磁悬浮轴承转子动平衡:零接触旋转下的“隐形杀手”深度解析与精准猎杀指南
  • Java项目中地图功能如何创建
  • 使用 libpq 的 COPY 协议维护自定义 PG 到 PG 连接
  • 飞算JavaAI的中间件风暴:Redis + Kafka 全链路实战
  • WMware的安装以及Ubuntu22的安装
  • 自动驾驶中安全相关机器学习功能的可靠性定义方法
  • VirtualBox中的Ubuntu共享Windows的文件夹
  • 【Excel】被保护的文档如何显示隐藏的行或列
  • 厚铜PCB在百安级电流与高温环境中的关键作用
  • 普通电脑与云电脑的区别有哪些?全面科普
  • C++ 错误记录模块实现与解析
  • Redis:是什么、能做什么?
  • uniapp跨端性能优化方案
  • 各种排序算法(一)