这里记载如何使用Yocto编译一个cmake的helloworld的程序

我想把这个helloworld当成一个新的模块区别与yocto版本的helloworld

1.所以先在yo目录下,建立一个cmakehelloworld文件夹.

2.使用了层,需要在conf路径下新建立一个文件叫,bblayers.conf,yocto用这个文件来管理层。

内容写上这一句就可以了:

BBLAYERS += "${TOPDIR}/cmakehelloworld"

3.回到自己的层,也就是/cmakehelloworld/这个路径里,添加自己的层的配置文件,建立conf文件夹,在里面建立一个叫layer.conf的文件:

内容为:

BBFILES += "${LAYERDIR}/recipes/*.bb"
BBPATH .= ":${LAYERDIR}"
BBFILE_COLLECTIONS += "cmakehelloworld"
BBFILE_PATTERN_cmakehelloworld := "^${LAYERDIR}/"
BBFILE_PRIORITY_cmakehelloworld = 5

4.在cmakehelloworld路径下放上我们的主角helloworld,先建立个source文件夹,在里面写一个main.c

内容为

#include <stdio.h>

int main(){
    printf("Hello world ,I am Cmake in yocto!\n");
    return 0;
}

5.编译上面的代码,方法为在cmakehelloworld路径下建立build文件夹,在里面放上CMakeLists.txt文件

内容为:

PROJECT(hello_cm)
SET(SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/../source/main.c)
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../image)
ADD_EXECUTABLE(hello_cm ${SRC_LIST})

6.把编译步骤写进bb里,方法为在cmakehelloworld下建立recipes文件夹,在里面放上hello_cmake.bb文件

内容为:

inherit cmake

DESCRIPTION = "Hello world in cmake"
PN = 'hello_cm'
PV = '1'

SRCREV = "${AUTOREV}"
S      = "${TOPDIR}/cmakehelloworld/build"

7.由于yotco默认执行do_build task(修改默认task的方法为BB_DEFAULT_TASK = "build"这里的Build改成其他的就可以了),而base的class里的build无法实现我们的Cmake编译,所以在cmakehelloworld下建立classes,里面放上cmake.bbclass

内容为:

do_build() {
    cd ${S}
    cmake .
    make
}

到这里就可以了,在yo路径下执行bitbake hello_cm就可以看到在image里生成的hello_cm执行程序,执行./hello_cm

Hello world ,I am Cmake in yocto!

大功告成!

yocto下的cmake版本hello world,追加分层使用相关推荐

  1. Linux下 gcc/g++ 版本切换与CMake各版本安装

    一. gcc/g++ 版本切换 首先下载需要的版本(以gcc8为例) sudo apt-get install gcc-8 删除原有的gcc链接, 改为新链接 cd /usr/bin sudo rm ...

  2. 在Ubuntu18.04下的Cmake使用记录

    (1)首先是安装cmake.命令如下: sudo apt-get install cmake (2)创建一个源程序,1.cpp如下:(1.cpp的位置是位于hoem/ysh/code) #includ ...

  3. Ubuntu下使用CMake编译OpenSSL源码操作步骤(C语言)

    OpenSSL的版本为1.0.1g,在ubuntu下通过CMake仅编译c代码不包括汇编代码,脚本内容如下: build.sh内容: #! /bin/bashreal_path=$(realpath ...

  4. Ubuntu下通过CMake文件编译CUDA+OpenCV代码操作步骤

    在 CUDA_Test  工程中,CUDA测试代码之前仅支持在Windows10 + VS2013编译,今天在Ubuntu 14.04下写了一个CMakeLists.txt文件,支持在Linux下也可 ...

  5. VS远程调试(Visual Studio)远程连接到linux cmake(跨平台开发)(适用于VS2019,且远程目标平台cmake版本大于等于3.8)

    参考文章:使用vs2019进行Linux远程开发 vs进行远程开发分为三步: 1.创建远程环境的连接,随后让vs将远程环境中的系统头文件同步到本地(也可以指定其他地方的头文件,后面会讲解),c++的代 ...

  6. 在 linux 下使用 CMake 构建应用程序

    CMake 简介 CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windo ...

  7. linux cmake装在自己目录下,如何在Linux下安装cmake

    全部展开 OpenCV 2.2和更高版本需要使用Cmake生成生成文件,因此需要先安装cmake. 还有其他需要先安装cmake的软件 1. 在Linux环境中打开Web浏览器,输入URL:mac c ...

  8. Ubuntu下使用cmake结合CmakeLists.txt生成makefile文件并进行编译

    转自1:https://www.cnblogs.com/cv-pr/p/6206921.html 转自2:https://blog.csdn.net/qqwangfan/article/details ...

  9. Windows下使用cmake vscode搭建 C/C++开发调试环境

    在windows下搭建的方式,在第3章之后同样适用于Linux系统,大致步骤均相同 1. MinGW的下载与安装 MinGW提供了 C/C++编译器,可以将程序源代码编译为可以在 Windows 中运 ...

最新文章

  1. 【收藏】Oracle存储过程读写文件
  2. 重磅 | 19 页花书精髓笔记!你可能正需要这份知识清单
  3. 20175221曾祥杰 实验四《Android程序设计》
  4. python流量监控_用python中的pcapy实现网络流量监控
  5. 信息学奥赛一本通(1234:2011)
  6. ubuntu14.04 LTS版本下安装配置gem5环境
  7. 函数名、闭包及迭代器
  8. 2021-08-21 初识javabean
  9. Word 中文编号标题与数字编号题注
  10. gps l1带宽_请问GPS带宽是多少?
  11. 环保数采仪助力绿水青山建设
  12. python-matplotlib制作图表与中文正常显示
  13. 北京某牧场管理企业——牧场智慧管理项目
  14. 2021 年 8 月全国程序员薪酬出炉:北京18904元位居榜首
  15. 分享一下我作为技能型自由职业者的常用赚钱软件
  16. Hbase安装~Hbase安装过程中常见的问题
  17. 网络存储技术Windows server 2012 (项目二十二 远程异地灾备中心的部署)
  18. 罗克韦尔自动化和PTC为由PTC支持的FactoryTalk InnovationSuite™添加行业首创的增强功能,用于简化和加速数字化转型
  19. 空气源热泵控制系统解决方案
  20. MPLS基本部署实验解析(静态LSP与动态LSP)

热门文章

  1. 个人永久性免费-Excel催化剂功能第105波-批量调整不规范的图形对象到单一单元格内存储...
  2. (最详细教程)中国知网caj格式论文如何转化为word,pdf,txt
  3. c语言拔萝卜算法,拔萝卜优秀说课稿
  4. opencv05:图像的基本操作
  5. n行Python代码系列:五行代码实现两个视频画中画播放
  6. 第7章第30节:四图排版:四张图片交错对齐排列 [PowerPoint精美幻灯片实战教程]
  7. movidius 神经计算棒 ncsdk windows 平台 支持 配置 教程
  8. ZN-61A网络型PLC可编程控制器实训装置
  9. 实训一 古诗横竖输出
  10. zk的session