如何在Yocto配方中集成CMake项目并将二进制安装到/usr/bin
Yocto集成HTT-Utility配方补充方案
你当前的配方已经通过继承cmake类自动实现了标准的mkdir build->cmake ..->make构建流程,无需额外修改do_configure、do_compile任务。安装失败的核心原因是上游HTT-Utility项目的CMakeLists.txt没有定义安装规则,默认的do_install任务无逻辑可执行,你只需在现有配方末尾添加以下内容即可:
do_install() { # 提前创建目标安装路径 install -d ${D}${bindir} # 从构建目录拷贝二进制到镜像的/usr/bin路径,设置可执行权限 install -m 0755 ${B}/htt_util ${D}${bindir}/ } # 声明二进制文件归属当前软件包,避免QA检查报错 # 若使用Yocto 3.0(zeus)之前的旧版本,请替换为 FILES_${PN} += "${bindir}/htt_util" FILES:${PN} += "${bindir}/htt_util"
补充说明:
${B}是Yocto中CMake类默认的构建目录,对应你手动构建时的build目录${D}是安装过程的临时根目录,最终会映射到根文件系统的根路径${bindir}是Yocto预定义变量,默认值为/usr/bin
后续你只需将该软件包名添加到镜像配方的IMAGE_INSTALL变量中,编译出的镜像就会包含/usr/bin/htt_util二进制。
内容的提问来源于stack exchange,提问作者Anthony Arrascue
相关产品推荐
相关产品推荐

