HarmonyOS 鸿蒙Next 0x0000007b309b0600 "undefined symbol: NAPI_default/entry_GetABCCode"

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

HarmonyOS 鸿蒙Next 0x0000007b309b0600 "undefined symbol: NAPI_default/entry_GetABCCode"

在native项目中调用so文件中的方法报错,调用代码如下:

 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;
}

报错如下:

cke_627.png

2 回复

这个问题后来解决了吗?

在HarmonyOS开发中遇到“undefined symbol: NAPI_default/entry_GetABCCode”这类错误,通常表明链接器无法找到名为entry_GetABCCode的符号,该符号可能定义在某个未正确链接的库中。请检查以下几点:

  1. 确认entry_GetABCCode函数或变量是否已在某个源文件中定义。
  2. 检查编译和链接过程中是否包含了定义该符号的源文件或库文件。
  3. 确保使用的库版本与你的项目兼容,并正确指定了库文件的路径。
  4. 如果使用了JNI(Native API Interface)或类似机制,请检查相关配置和映射是否正确。

如果问题依旧没法解决请加我微信,我的微信是itying888。

回到顶部