HarmonyOS 鸿蒙Next DevEco studio使用本地鸿蒙虚拟机x86调用linux编译的pjsip的so包,运行时报错ld.lld: error: undefined symbol: pj_init
HarmonyOS 鸿蒙Next DevEco studio使用本地鸿蒙虚拟机x86调用linux编译的pjsip的so包,运行时报错ld.lld: error: undefined symbol: pj_init
代码里引入的函数都没有报错,可以找到
但是点击运行时报错
请大佬帮忙看一下
更多关于HarmonyOS 鸿蒙Next DevEco studio使用本地鸿蒙虚拟机x86调用linux编译的pjsip的so包,运行时报错ld.lld: error: undefined symbol: pj_init的实战教程也可以访问 https://www.itying.com/category-93-b0.html
不支持x86,用真机就可以了
更多关于HarmonyOS 鸿蒙Next DevEco studio使用本地鸿蒙虚拟机x86调用linux编译的pjsip的so包,运行时报错ld.lld: error: undefined symbol: pj_init的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
我的so包是用ubuntu编译的,这不行吧,
针对您在使用DevEco Studio的本地鸿蒙虚拟机x86环境中调用Linux编译的pjsip的so包时遇到的“ld.lld: error: undefined symbol: pj_init”错误,这通常意味着链接器在so包中找不到pj_init
这个符号。这可能是由于以下几个原因:
-
符号未导出:确保在pjsip的源代码或编译配置中,
pj_init
函数是被正确导出到so文件中的。检查编译命令或Makefile文件,确认是否使用了正确的导出选项(如GCC的-fvisibility=default
或类似的)。 -
版本不匹配:如果pjsip的so包是为不同的架构(如arm而非x86)或不同的ABI(如Android而非鸿蒙的ABI)编译的,那么可能会出现符号不兼容的情况。确保pjsip的so包是为鸿蒙x86架构编译的。
-
链接错误:检查DevEco Studio的项目配置,确保pjsip的so包被正确添加到项目的库路径中,并且在链接时被引用。
-
依赖缺失:
pj_init
可能依赖于其他未正确链接的库。确保所有必要的依赖库都已正确安装并链接。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html