WiFi IoT 编译samgr模块
WiFi IoT 源码里是有以下几个示例的,demolink/iothardware/samgr,前两个可以正常编译运行,但第三个即samgr时却遇到了问题。
使用的源码是从这里下载的:https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz
1. 第一处错误就是关于SAMGR_GetInstance()的。
后搜索发现此问题已经解决了,https://gitee.com/openharmony/applications_sample_wifi_iot/pulls/2。鸿蒙系统在gitee上开源,已经提PR修复了此问题。但在官网上下载的源码压缩包并没有同步更新,于是就按此文档介绍的添加了头文件。
2. 按文档添加头文件后发现还有问题,如下,漏掉了bootstrap_example.c里添加头文件,于是添加了#include "time_adapter.h"。
3. 头文件都添加好后却又出现了另一个问题,如下,fatal error: unity.h: No such file or directory
在vscode里搜索unity.h发现有两处,一处位于cJson内部,另一处在third_pard/unity目录下,还发现了其他地方引用方式,于是在/applications/sample/wifi-iot/app/samgr/BUILD.gn里添加了"//third_party/unity/src",终于编译成功了。
4. 下面看一下都修改了哪些文件
需求注意的是下面贴出的图片仅是applications/sample/wifi-iot/app目录的修改,在foundation/distributedschedule/services/samgr_lite/samgr/source/BUILD.gn文件也有修改。
例程引起kernel panic,绝了
刚好我也开始研究这一个组件了