• Lv0
    粉丝0

积分0 / 贡献0

提问1答案被采纳0文章0

作者动态

    0xf6518c70 "Symbol not found: NAPI_default_entry_GetABCCode, version: null"

    追梦人 显示全部楼层 发表于 2024-6-18 17:22:13

    【问题描述】

    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

    【运行环境】

    硬件: ROM版本: DevEvoStudio版本: SDK版本:

    您尚未登录,无法参与评论,登录后可以:
    参与开源共建问题交流
    认同或收藏高质量问答
    获取积分成为开源共建先驱

    精彩评论2

    s_hao

    沙发 发表于 2024-6-24 18:31:06
    可以尝试以下方法:
    1.确保 so 文件中包含了 NAPI_default_entry_GetABCCode 的定义。你可以在 so 文件的源代码中查找这个符号的定义,如果没有找到,你需要添加相应的定义。
    2.确保 so 文件被正确链接到 Native 项目中。你可以检查项目的构建配置,确保 so 文件被添加到链接选项中。
    3.检查 Native 项目中的代码,确保正确引用了 so 文件中的符号。例如,如果你在 C++ 代码中使用这个符号,你需要在头文件中声明它,并在实现文件中定义它。

    追梦人

    发表于 2024-6-25 11:29  IP属地: 浙江省衢州市

    回复 s_hao: 已经解决了,编译上边的问题

    【1 条回复】

    Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

    返回顶部