HarmonyOS 基于lycium工具编译出的FFmepg库,导入到demo工程中,调用cpp方法项目闪退

FFmpeg库是基于HarmonyOSSDK用lycium工具编译出来的。

编出来之后拷贝了其中的.so文件,以及头文件放入到项目中,cmakelist也写了相应的配置目前问题是,在配置ffmpeg库之前点击helloworld可以正常跑,但是配置完之后点击就会闪退。但是看日志只看到报了js线程的错误,未看到更多的错误信息。

HarmonyOS
2025-01-10 09:02:16
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

该报错应该是没有正确链接上so导致的:

1、首先需要在终端中输入 readelf -d entry/libs/arm64-v8a/libxxx.so来查找soname,确认下动态库的soname,将entry/libs/${OHOS_ARCH}下的so改名为这个soname。

2、Cmakelist中使用三方库中的路径,使用如下的方式链接so:

target_link_libraries(entry PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/xxx/${OHOS_ARCH}/lib/libxxx.so) 

而不是选择

${CMAKE_CURRENT_SOURCE_DIR}/../../../libs/${OHOS_ARCH}/libxxx.so) 

的路径,这样链会导致名字和带版本号的so不统一。

3、请确保entry/libs在不同框架(如arm64_v8a、x86_64)下的so与src/main/cpp/thirdparty/xxx下对应框架下的so文件大小一致(非软链接)且文件名无误。

分享
微博
QQ
微信
回复
2025-01-10 12:02:09
相关问题
HarmonyOS 如何将svg图片导入到项目
965浏览 • 1回复 待解决
导入HI3861工程之后编译出
6442浏览 • 2回复 待解决
HarmonyOS number toFixed方法退
459浏览 • 1回复 待解决
ArkTS如何使用编译出Native so
764浏览 • 1回复 待解决
HarmonyOS C++ 调用 ets 层函数报错退
529浏览 • 1回复 待解决
HarmonyOS应用退问题
1188浏览 • 1回复 待解决
HarmonyOS 编译工具链接问题
589浏览 • 1回复 待解决
CJSON编译出链接运行后崩溃
645浏览 • 1回复 待解决