YOCTO项目如何为GitHub开源raspicam库编写.bb配方文件实现安装
Raspicam库Yocto配方编写方案
完整配方文件内容
将配方文件命名为raspicam_%.bb即可适配版本拉取,文件内容如下:
SUMMARY = "Raspberry Pi camera access library" DESCRIPTION = "C++ library for accessing the Raspberry Pi camera module, \ provides easy-to-use APIs for image and video capture, supports native output \ as well as OpenCV Mat format." HOMEPAGE = "https://github.com/cedricve/raspicam" SECTION = "libs" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=9e85897a610a0a4a86974571c980f1d8" SRC_URI = "git://github.com/cedricve/raspicam.git;protocol=https;branch=master" SRCREV = "${AUTOREV}" S = "${WORKDIR}/git" DEPENDS = "userland" # 如需要OpenCV格式输出支持,取消下一行注释即可 # DEPENDS += "opencv" inherit cmake pkgconfig
核心字段说明
SUMMARY/DESCRIPTION:配方功能的短/长描述,可根据实际需求调整内容LICENSE/LIC_FILES_CHKSUM:上游项目的开源协议声明及协议文件校验值,若拉取的版本协议文件有变动,替换报错日志给出的对应哈希值即可SRC_URI:上游源码拉取地址,此处配置为通过HTTPS协议拉取对应GitHub仓库的master分支代码SRCREV:指定拉取的代码提交版本,设置为${AUTOREV}会每次拉取最新主干代码,生产环境建议替换为固定的提交哈希保证编译一致性DEPENDS:声明编译依赖,该库必须依赖树莓派官方userland组件提供底层摄像头接口,OpenCV为可选依赖inherit cmake pkgconfig:继承Yocto预置的编译类,自动完成cmake配置、编译、安装全流程
使用步骤
- 在你的自定义Yocto层中创建
recipes-multimedia/raspicam目录,将上述配方文件存入该目录 - 在构建配置文件
conf/local.conf或自定义镜像配方中添加安装配置:IMAGE_INSTALL:append = " raspicam" - 重新执行镜像构建即可完成raspicam库的集成
注意事项
- 该库基于树莓派传统MMAL摄像头接口开发,若使用的Yocto分支对应树莓派Bullseye/Bookworm版本,需在设备树配置中开启legacy摄像头支持才能正常调用
- 编译时若提示找不到
userland依赖,需确认已集成树莓派官方的meta-raspberrypi层
内容的提问来源于stack exchange,提问作者tryingBetter
相关产品推荐
相关产品推荐

