You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Movesense核心库缺失sbem/Sbem.hpp等文件的技术求助

Movesense SensorSoftware 2.2 离线GATT应用头文件缺失问题解决建议

问题描述

我正在开发适配SensorSoftware 2.2版本的离线GATT应用修改版,但Movesense核心库中找不到以下两个头文件:

#include "platform/bsp/rtc.hpp"
#include "sbem/Sbem.hpp"

这两个引用在官方示例应用里也有使用,我想知道有没有解决方案,或者这些头文件是否还能在其他路径找到(该离线GATT传感器应用已有正式发布版本)。

已尝试操作

  • 重新克隆Movesense代码仓库
  • 尝试用#include "sbem_types.h"、#include "movesense_time/resources.h"和#include "sbem-code/sbem_definitions.h"替代原头文件

但编译仍报错:

/movesense/samples/win_ecglogger_app/ECGIMULoggerapp.cpp:8:10: fatal error: sbem/Sbem.hpp: No such file or directory
8 | #include "sbem/Sbem.hpp"

解决方案建议

1. 匹配对应版本的Movesense仓库

SensorSoftware版本与Movesense核心库版本强绑定,务必确保你克隆的仓库是SensorSoftware 2.2对应的特定分支/标签,而非默认主分支。不同版本的库文件结构会有调整,主分支可能已移除这些旧头文件。

2. 调整头文件引用与代码适配

针对platform/bsp/rtc.hpp

用#include "movesense_time/resources.h"替代后,需同步调整代码中的API调用:原rtc.hpp的RTC功能已整合到时间资源模块,改用MovesenseTime相关接口实现。

针对sbem/Sbem.hpp

SensorSoftware 2.2中SBEM相关实现已迁移至sbem-code目录,需完成两步操作:

  • 检查项目CMakeLists.txt,确保include_directories中添加了sbem-code目录
  • 用#include "sbem_definitions.h" + #include "sbem_types.h"组合替代原引用,同时调整代码中依赖Sbem.hpp的类、方法调用——原Sbem命名空间下的接口,现在直接使用sbem_definitions.h中定义的结构体与宏。

3. 参考官方发布版本的代码结构

既然该离线GATT应用已有发布版本,直接对比发布版本的代码:

  • 查看发布版本中这两个头文件的替代方案
  • 复制发布版本对应的CMake配置与头文件引用方式,确保项目配置完全一致

4. 清理编译缓存后重新构建

替换头文件后,执行以下命令清理缓存,避免旧缓存导致路径错误:

rm -rf build/
cmake --build .

内容的提问来源于stack exchange,提问作者Jonathan Posthuma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 10:17:16