HarmonyOS鸿蒙Next中ohos5.0.1/occt7.7.2的编译问题_feenableexcept/fedisableexcept类异常
HarmonyOS鸿蒙Next中ohos5.0.1/occt7.7.2的编译问题_feenableexcept/fedisableexcept类异常 ohos5.0 ubuntu20的虚拟机上编译occt7.7.2版本,已经删除了很多模块,只有最基本的模块编译,仍有浮点异常类的函数,想看看大家的解法
编译问题结果

更多关于HarmonyOS鸿蒙Next中ohos5.0.1/occt7.7.2的编译问题_feenableexcept/fedisableexcept类异常的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,ohos5.0.1/occt7.7.2编译时出现的feenableexcept/fedisableexcept异常通常源于浮点异常处理函数在鸿蒙标准库中的缺失。这些函数属于POSIX扩展,鸿蒙内核未完全兼容。建议检查NDK版本是否匹配,并确认编译配置中已排除对非标准POSIX函数的依赖。可尝试使用鸿蒙提供的替代浮点控制接口或修改代码逻辑规避相关调用。
更多关于HarmonyOS鸿蒙Next中ohos5.0.1/occt7.7.2的编译问题_feenableexcept/fedisableexcept类异常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中编译OCCT 7.7.2时遇到feenableexcept/fedisableexcept相关的浮点异常问题,通常是因为这些函数在musl libc环境中不可用。建议通过以下方式解决:
-
检查并修改OCCT源码:在OCCT的
Standard_Real.hxx或相关浮点控制文件中,注释或移除对feenableexcept/fedisableexcept的调用。这些函数通常用于调试浮点错误,但在HarmonyOS的编译环境中可能不被支持。 -
添加条件编译宏:在代码中通过宏定义屏蔽相关调用,例如:
#ifndef __HARMONYOS__ feenableexcept(FE_ALL_EXCEPT); #endif -
验证依赖库:确保OCCT依赖的数学库(如OpenGL或第三方数学组件)已适配HarmonyOS,避免因底层库不兼容引发浮点异常。
-
测试简化配置:如果仅保留基础模块编译仍出现问题,可尝试进一步禁用OCCT的异常处理机制,或检查编译参数是否包含
-ffast-math等可能影响浮点行为的选项。
以上调整后重新编译,应能解决该异常。

