问题现象
构建HAP工程时,编译工具报错:“error: unknown type name '_Bool'”,找不到_Bool类型错误,如下所示:

可能原因
JSVM-API基于C99标准的C-API,在C++工程中使用时需注意兼容性。
当前版本SDK提供的C++编译工具链clang++的默认配置为-std=gnu++14。当指定-std=c++xx时,会覆盖默认配置,Clang会使用strict ANSI的编译宏,对应C90标准,不包含GNU C扩展,因此不支持C99标准引入的_Bool。而-std=gnu++xx系列选项会启用GNU C扩展支持,不会产生编译错误。
解决措施
检查构建选项中是否添加了-std=c++xx系列的选项(例如11、14、17等)。
如果存在,那么有以下三种方案可以解决这个问题: