Native so 编译 opencv,报找不到 libunwind.so

下载 opencv 3.4.2 版本,使用鸿蒙编译工具链编译出 libopencv.so, 作为底层库链接。在 Native C++ 模版工程,添加一个getversion()方法,同时 cmakelists 文件链接 opencv 库(include同样也配好)。

添加预构建共享库

add_library(opencv SHARED IMPORTED)

设置预构建共享库的路径

set_target_properties(opencv PROPERTIES IMPORTED_LOCATION <math><semantics><mrow><mrow><mi>N</mi><mi>A</mi><mi>T</mi><mi>I</mi><mi>V</mi><mi>E</mi><mi>R</mi><mi>E</mi><mi>N</mi><mi>D</mi><mi>E</mi><msub><mi>R</mi><mi>R</mi></msub><mi>O</mi><mi>O</mi><msub><mi>T</mi><mi>P</mi></msub><mi>A</mi><mi>T</mi><mi>H</mi></mrow><mi mathvariant="normal">/</mi><mi>p</mi><mi>r</mi><mi>e</mi><mi>b</mi><mi>u</mi><mi>i</mi><mi>l</mi><msub><mi>t</mi><mi>l</mi></msub><mi>i</mi><mi>b</mi><mi>s</mi><mi mathvariant="normal">/</mi></mrow><annotation encoding="application/x-tex">{NATIVERENDER_ROOT_PATH}/prebuilt_libs/</annotation></semantics></math>NATIVERENDERR​OOTP​ATH/prebuiltl​ibs/{OHOS_ABI}/libopencv.so)

将预构建共享库链接到目标

target_link_libraries(${PROJECT_NAME_AD} PUBLIC opencv)

问题场景描述:点击crash: Cannot read property getVersion of undefined加载:log 搜 dlopen,有如下报错01-12 16:36:49.725 13173-13173 C03F00/MUSL-LDSO pid-13173 E dlopen_impl load library header failed for libunwind.so01-12 16:36:49.728 13173-13173 C039FE/NAPI pid-13173 W [(native_module_manager.cpp:745)(LoadModuleLibrary)] dlopen failed: Error loading shared library : Invalid argument (needed by /data/storage/el1/bundle/libs/arm64/libopencv.so)

如何解决呢?

HarmonyOS
2024-06-07 17:16:17
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
chunter

在主体工程cmakelist中通过add_subdirectory构建中间层,在中间层中单独依赖三方库

分享
微博
QQ
微信
回复
2024-06-07 22:46:17
相关问题
native如何通过命令行编译so
1213浏览 • 1回复 待解决
如何在Native层加载so
438浏览 • 1回复 待解决
ArkTS和Native如何动态加载、卸载so
695浏览 • 1回复 待解决
在Camkelist配置so后,编译报错
265浏览 • 1回复 待解决
支持调试本地源码无法编译so
340浏览 • 1回复 待解决
如何编译鸿蒙使用的libcurl.so
354浏览 • 1回复 待解决
Native侧如何集成三方SO
865浏览 • 1回复 待解决
编译so时如何去除符号表
1019浏览 • 1回复 待解决
如何编译底层的so有懂的吗?
1012浏览 • 1回复 待解决
Native工程中如何使用其他三方so
808浏览 • 1回复 待解决
openssl.so和ffrt.so异常日志分析
364浏览 • 1回复 待解决
HAR中C++编写的sonative方法的使用
285浏览 • 1回复 待解决
Harmony找不到HCI日志
1163浏览 • 1回复 待解决
通过configuration配置调试so
354浏览 • 1回复 待解决
so加固支持的混淆逻辑
200浏览 • 1回复 待解决