111 Star 269 Fork 608

OpenHarmony / drivers_hdf_core

 / 详情

drivers/framework/tools/hdi-gen 在 ubuntu-21.10 上编译异常

已完成
缺陷
创建于  
2022-05-19 15:32

【模块名_概率】简要描述:
drivers/framework/tools/hdi-gen 模块代码在 VMware® Workstation 16 Player(16.2.1 build-18811642)+ ubuntu-21.10-desktop-amd64 环境下编译异常。

【环境信息】:

  • 网络环境【不需要】
  • 硬件开发板型号【HI3516DV300、DAYU200】
  • 软件版本信息或tag节点【3.1 Release 或 Master】
  • 测试环境
  • 其他

VMware® Workstation 16 Player(16.2.1 build-18811642)+ ubuntu-21.10 -desktop-amd64 ,按官方指导给出的步骤配置好编译环境后,拉取一个干净的最新的3.1 Release代码回来【master分支代码也一样】,不做任何修改直接编译RK3568项目。

编译过程会出现大量的(过百条)如下异常:

Line 351: /home/ohos/Ohos/A_LTS31/drivers/framework/tools/hdi-gen/util/string.h:23:32: error: ‘size_t’ has not been declared
......
Line 365: /home/ohos/Ohos/A_LTS31/drivers/framework/tools/hdi-gen/ast/ast_namespace.h:36:40: error: ‘size_t’ has not been declared
......
Line 392: /home/ohos/Ohos/A_LTS31/drivers/framework/tools/hdi-gen/util/string_builder.h:31:15: error: ‘size_t’ has not been declared
......
/home/ohos/Ohos/A_LTS31/drivers/framework/tools/hdi-gen/util/string_builder.cpp:27:9: error: ‘position_’ was not declared in this scope
27 | if (position_ + 1 >= capacity_) {
| ^~~~~~~~~
/home/ohos/Ohos/A_LTS31/drivers/framework/tools/hdi-gen/util/string_builder.cpp:27:26: error: ‘capacity_’ was not declared in this scope
27 | if (position_ + 1 >= capacity_) {
| ^~~~~~~~~
/home/ohos/Ohos/A_LTS31/drivers/framework/tools/hdi-gen/util/string_builder.cpp:33:13: error: ‘position_’ was not declared in this scope
33 | buffer_[position_] = c;
| ^~~~~~~~~

以及如下异常:

/home/ohos/Ohos/A_LTS31/drivers/framework/tools/hdi-gen/codegen/java_code_emitter.cpp:38:27: error: ‘islower’ was not declared in this scope
38 | if (name.IsEmpty() || islower(name[0])) {
| ^~~~~~~
/home/ohos/Ohos/A_LTS31/drivers/framework/tools/hdi-gen/codegen/java_code_emitter.cpp:41:35: error: ‘tolower’ was not declared in this scope
41 | return String::Format("%c%s", tolower(name[0]), name.Substring(1).string());
| ^~~~~~~

我在 //drivers/framework/tools/hdi-gen/util/string.h 文件头部增加一句:
#include <stdlib.h>
在//drivers/framework/tools/hdi-gen/codegen/java_code_emitter.h 文件头部增加一句:
#include <ctype.h>
可以解决上述异常,就能够成功编译。

疑似ubuntu-21.10 -desktop-amd64下的编译环境还有点问题,请相关工程师抽空看一下可能是哪里出现了问题,谢谢。

评论 (1)

liangkz(梁开祝) 创建了缺陷
yuanbo 任务状态待办的 修改为已确认
yuanbo 任务状态已确认 修改为修复中
yuanbo 负责人设置为yuanbo
展开全部操作日志

ubuntu-21.04也遇到同样问题

kevin 优先级设置为不重要
郭东奇 通过openharmony/drivers_hdf_core Pull Request !1003任务状态修复中 修改为已完成

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
9059777 caesar wang 1622597700 8486051 liangkzgitee 1615865665
1
https://gitee.com/openharmony/drivers_hdf_core.git
git@gitee.com:openharmony/drivers_hdf_core.git
openharmony
drivers_hdf_core
drivers_hdf_core

搜索帮助