HarmonyOS 鸿蒙Next编译报“soft-float ABI”错误,鸿蒙设备的CPU是没有FPU的吗?

HarmonyOS 鸿蒙Next编译报“soft-float ABI”错误,鸿蒙设备的CPU是没有FPU的吗?

我新建一个项目,SDK 3.1.0 (API 9). 代码中引用了neon头文件,编译时报错.

“NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard”.

还有个疑问,为什么这里的ABI是v7a,我记得aarch64应该是v8版本的吧


更多关于HarmonyOS 鸿蒙Next编译报“soft-float ABI”错误,鸿蒙设备的CPU是没有FPU的吗?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
您好,如果没有写明使用什么abi,默认是arm64-v8a和armeabi-v7a均进行构建

报错是因为armeabi-v7a不支持neon头文件

如果只想构建abi是arm64-v8a,可在模块级build-prodile.json5中设置abiFilters类型

更多关于HarmonyOS 鸿蒙Next编译报“soft-float ABI”错误,鸿蒙设备的CPU是没有FPU的吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


abi改成v8后编译就通过了,

鸿蒙Next编译报“soft-float ABI”错误,通常是因为在编译过程中使用了软浮点(soft-float)ABI,而目标设备的CPU不支持硬件浮点单元(FPU)。鸿蒙设备的部分CPU确实没有FPU,尤其是在一些低功耗或嵌入式设备中,为了降低成本和功耗,可能会选择不带FPU的处理器。在这种情况下,编译器默认使用软浮点ABI来模拟浮点运算,而不是依赖硬件FPU。如果你在编译时遇到“soft-float ABI”错误,可能是因为编译器或构建工具没有正确配置为使用软浮点ABI,或者目标设备的CPU不支持硬件浮点运算。你需要确保编译器和构建工具的配置与目标设备的硬件特性匹配。

回到顶部