Matter 笔记1-环境准备,编译

不要远程登录Ubuntu输入以下命令,原因:ubuntu/linux上的http代理设置

1. 准备

1.1 工具

  1. Ubuntu 22.04 LTS
  2. Clash 里General的端口设置到ubuntu 的网络设置里
    在这里插入图片描述

1.2 代码

这里使用芯科整理过的代码

git clone https://github.com/SiliconLabs/matter.gitgit pull
git submodule update --init

1.3 环境

  1. 基础
sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev
  1. 用户界面的构建
    如果通过build_examples.py和with-ui变体构建,也要安装SDL2:
sudo apt-get install libsdl2-dev

2. 更新环境

source scripts/bootstrap.sh

scripts/bootstrap.sh脚本会从头开始重新创建环境,开销很大,所以除非环境过时了,否则不要运行它。
此时出现的问题:

ImportError: cannot import name 'OneStyleAndTextTuple' from 'prompt_toolkit.formatted_text'

解决办法:更改 scripts/setup/constraints.txt. 中的

prompt-toolkit==3.0.38
改为 
prompt-toolkit==3.0.43

3. 针对主机操作系统(Linux或macOS)的构建

source scripts/activate.shgn gen out/hostninja -C out/host

这些命令生成适合调试的配置。要配置优化的构建,指定is_debug=false:

gn gen out/host --args='is_debug=false'ninja -C out/host

3.1 测试

  1. 要运行所有测试,请运行以下命令:
ninja -C out/host check

出现:‘#3:’,'InetEndPoint::TestInetEndPoint ',‘FAILED’ 时请查看:[BUILDING] ninja -C ./out/debug error

  1. 只运行src/inet/tests中的测试,可以运行以下命令:
ninja -C out/host src/inet/tests:tests_run

注意:构建系统缓存通过的测试,所以你可能会看到以下消息:

ninja: no work to do

4. 编译chip-tool

./scripts/examples/gn_build_example.sh examples/chip-tool out/chip-tool

在这里插入图片描述

5. 官方使用说明

点击:Building Matter

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/520076.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux:kubernetes(k8s)探针ReadinessProbe的使用(9)

本章yaml文件是根据之前文章迭代修改过来的 先将之前的pod删除,然后使用下面这个yaml进行生成pod apiVersion: v1 # api文档版本 kind: Pod # 资源对象类型 metadata: # pod相关的元数据,用于描述pod的数据name: nginx-po # pod名称labels: # pod的标…

Requests教程-15-文件上传与下载

领取资料,咨询答疑,请➕wei: June__Go 上一小节,我们学习了requests的HTTPS请求方法,本小节我们讲解一下在requests文件上传与下载。 文件上传 使用requests库上传文件时,需要使用files参数,并将文件打…

仪酷LabVIEW OD实战(4)——Object Detection+OpenVINO工具包快速实现yolo目标检测

‍‍🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主 🎄所属专栏:『仪酷LabVIEW目标检测工具包实战』 📑上期文章:『仪酷LabVIEW OD实战(3)——Object Detectiononnx工具包快速…

Python(38):Request的data需入参是json,用转换json.dumps(data)

Python接口自动化测试遇到问题:误传str类型给request 接口请求数据用str传参报错,请求响应报错 排查原因:查看服务器报错是Json解析报错。 1.1、如果直接入参,进行request请求的数据: data请求值为: reqData {&quo…

【Python】6. 基础语法(4) -- 列表+元组+字典篇

列表和元组 列表是什么, 元组是什么 编程中, 经常需要使用变量, 来保存/表示数据. 如果代码中需要表示的数据个数比较少, 我们直接创建多个变量即可. num1 10 num2 20 num3 30 ......但是有的时候, 代码中需要表示的数据特别多, 甚至也不知道要表示多少个数据. 这个时候,…

vue面试--9, 1 ObjectProperty与vue3Proxy区别。2 MVVM的理解 3 双向绑定原理?

1 ObjectProperty与vue3Proxy区别 2 MVVM的理解 3 双向绑定原理?

NIO核心二:通道Channel

一、简单介绍 通道(Channel)是java.nio的第二个创建概念。Channel用于在缓冲区和位于通道另一侧的实体(通常是一个文件或者是一个套接字)之间有效的传输数据。只不过Channel本身不能直接访问数据,Channel只能和Buffer进行交互。 1.NIO的通道和流的区别 通道可以同…

Web自动化测试—webdriver的环境配置

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

猫毛过敏又不想扔掉猫怎么办?如何养猫?热门宠物空气净化器分享

养了猫咪一年多,忽然发现自己患上了过敏性鼻炎和结膜炎,就是那种一靠近猫咪就会不断打喷嚏、流鼻涕、流眼泪的症状。有时候还会感到眼睛发痒,发红。有没有什么好的方法治疗过敏性鼻炎呢? 医生建议,从根本上解决问题需…

数据结构(八)——初识单链表

😀前言 单链表是数据结构中最基本的一种链表结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。单链表具有灵活性和动态性,可以根据需要插入、删除和查找元素,适用于各种场景和问题的解决。 在本篇文章…

Java 属性可见性和TypeScripta 属性可见性区别

Java 中默认(无修饰符)的可见性对应的是包级私有(package-private),这是 Java 特有的可见性修饰符,有时也称为默认可见性,包级私有的可见性意味着只有同一个包中的其他类才能访问该成员&#xf…

STM32(7)NVIC

1. NVIC 1.1 NVIC简介 1.2 中断协作模型 1.3 NVIC的内部结构 1.4 中断向量表 1.4.2 在参考手册中查阅中断向量表