OpenHarmony开发者论坛

标题: 0xf6518c70 "Symbol not found: NAPI_default_entry_GetABCCode, version: null" [打印本页]

作者: 追梦人    时间: 2024-6-18 17:22
标题: 0xf6518c70 "Symbol not found: NAPI_default_entry_GetABCCode, version: null"
[md]### 【问题描述】

1. Native项目调用so文件方法
2. ```
      void *hande = dlopen("libmain.so", RTLD_LAZY);
       if(! hande){
           char *fail = "加载失败";
           napi_create_string_utf8(env, fail,strlen(fail) , &result);
           std::cout<< dlerror() <<endl;
   //        napi_throw_error(env, NULL, dlerror());
           return result;
       }else{
           char *suc = "加载成功";
           Func_Add func_Add = (Func_Add)(dlsym(hande, "xuhuiAdd"));
           char *errorFunc = dlerror();
           std::cout<< errorFunc <<endl;
       }
   ```
3. 错误截图
4. ![截屏2024-06-1817.21.47.png](https://forums-obs.openharmony.c ... 6z1y4tixxw0sq20.png "截屏2024-06-18 17.21.47.png")

### 【运行环境】

硬件:
ROM版本:
DevEvoStudio版本:
SDK版本:
[/md]
作者: s_hao    时间: 2024-6-24 18:31
可以尝试以下方法:
1.确保 so 文件中包含了 NAPI_default_entry_GetABCCode 的定义。你可以在 so 文件的源代码中查找这个符号的定义,如果没有找到,你需要添加相应的定义。
2.确保 so 文件被正确链接到 Native 项目中。你可以检查项目的构建配置,确保 so 文件被添加到链接选项中。
3.检查 Native 项目中的代码,确保正确引用了 so 文件中的符号。例如,如果你在 C++ 代码中使用这个符号,你需要在头文件中声明它,并在实现文件中定义它。
作者: 追梦人    时间: 2024-6-25 11:29
回复 s_hao: 已经解决了,编译上边的问题




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5