mbedtls编译报错

编译报错日志如下:

[OHOS ERROR] [NINJA] ../../../third_party/mbedtls/library/platform_util.c:261:2: error: #error "No mbedtls_ms_time available"
[OHOS ERROR] [NINJA]   261 | #error "No mbedtls_ms_time available"
[OHOS ERROR] [NINJA]       |  ^~~~~

img

报错位置及原因

在 third_party/mbedtls/library/platform_util.c 文件的最后面,有一行报错代码,编译时的报错信息就是在这里

#error "No mbedtls_ms_time available"

对比OpenHarmony-v6.1-Release 与 OpenHarmony-v6.0-Release 代码:

  • OpenHarmony-v6.0-Release

    #if (defined(_POSIX_VERSION) && _POSIX_VERSION >= 199309L) || defined(__HAIKU__) || defined(__unix__)
    
  • OpenHarmony-v6.1-Release

    #if (defined(_POSIX_VERSION) && _POSIX_VERSION >= 199309L) || defined(__HAIKU__)
    

    新版本优化了 defined(unix) 的判断。

解决方法

引入unistd.h头文件,若还是报则手动定义 _POSIX_VERSION 大于或等于 199309L。

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐