HarmonyOS 鸿蒙Next侧导入react-native-safe-context库编译不通过

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next侧导入react-native-safe-context库编译不通过

日志如下:harmony/entry/oh_modules/@react-native-oh-tpl/react-native-safe-area-context/src/main/cpp/SafeAreaProviderComponentInstance.cpp’

clang++: warning: -Wl,-z,relro,-z,now,-z,noexecstack: ‘linker’ input unused [-Wunused-command-line-argument]

clang++: warning: argument unused during compilation: ‘–gcc-toolchain=/Applications/DevEco-Studio.app/Contents/sdk/default/openharmony/native/llvm’ [-Wunused-command-line-argument]

/harmony/entry/oh_modules/@react-native-oh-tpl/react-native-safe-area-context/src/main/cpp/SafeAreaProviderComponentInstance.cpp:61:37: error: use of undeclared identifier ‘MIN’

        double providerBottom = MAX(MIN(y + height - data.frame.height, 0) + data.insets.bottom, 0);

 /harmony/entry/oh_modules/@react-native-oh-tpl/react-native-safe-area-context/src/main/cpp/SafeAreaProviderComponentInstance.cpp:62:31: error: use of undeclared identifier ‘MAX’

        double providerLeft = MAX(data.insets.left - x, 0);

                              ^

8 warnings and 4 errors generated.

2 回复
查看日志,发现在最新版本三方库已经修复,尝试下最新版本:参考链接:https://github.com/react-native-oh-library/react-native-safe-area-context/pull/27

版本号:4.7.4-0.1.7-rc.1

针对您提到的HarmonyOS鸿蒙Next侧导入react-native-safe-context库编译不通过的问题,这通常与库兼容性、项目配置或依赖关系冲突有关。以下是一些可能的排查方向:

  1. 检查库版本:确保react-native-safe-context库支持当前的HarmonyOS版本。查看库的官方文档或GitHub仓库,确认是否有针对HarmonyOS的适配说明或版本要求。

  2. 项目配置:检查build.gradlepackage.json等配置文件,确保所有依赖项正确无误,且版本兼容。特别是React Native的版本,因为某些第三方库可能依赖于特定版本的React Native。

  3. 依赖冲突:分析编译错误信息,查找是否有依赖冲突。使用如./gradlew app:dependencies的命令来查看项目依赖树,排查并解决冲突。

  4. 原生模块适配:如果react-native-safe-context包含原生模块,需要确认这些模块是否已针对HarmonyOS进行了适配。必要时,可能需要查看或修改原生代码。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部