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