HarmonyOS 鸿蒙Next 0x0000007b309b0600 "undefined symbol: NAPI_default/entry_GetABCCode"
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;
}
报错如下:
2 回复
这个问题后来解决了吗?
在HarmonyOS开发中遇到“undefined symbol: NAPI_default/entry_GetABCCode”这类错误,通常表明链接器无法找到名为entry_GetABCCode
的符号,该符号可能定义在某个未正确链接的库中。请检查以下几点:
- 确认
entry_GetABCCode
函数或变量是否已在某个源文件中定义。 - 检查编译和链接过程中是否包含了定义该符号的源文件或库文件。
- 确保使用的库版本与你的项目兼容,并正确指定了库文件的路径。
- 如果使用了JNI(Native API Interface)或类似机制,请检查相关配置和映射是否正确。
如果问题依旧没法解决请加我微信,我的微信是itying888。