解决dlopen failed: library “libomp.so“ not found
Posted pan_jinquan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决dlopen failed: library “libomp.so“ not found相关的知识,希望对你有一定的参考价值。
android NDK开发时,如果开启多线程加速,需要用到openMP库,一些版本的差异,会出现dlopen failed: library "libomp.so" not found的错误,即找到libomp.so库
解决思路也很粗暴,直接将NDK里libomp.so拷贝到'src/main/jniLibs'或者'libs',即可解决问题。
比如我使用的是NDK版本是:android-ndk-r21e,在该目录下搜索libomp.so,
至于拷贝哪个处理器版本,需要根据你的平台选择,一般在abiFilters会指定 "armeabi-v7a", "arm64-v8a"平台,拷贝对应的版本即可;如果不存在,可以复制其他平台的libomp.so代替试试。
拷贝的目的地址,由jniLibs.srcDirs指定so库的位置:
jniLibs.srcDirs = ['src/main/jniLibs', 'libs']
以上是关于解决dlopen failed: library “libomp.so“ not found的主要内容,如果未能解决你的问题,请参考以下文章
dlopen failed: library...库加载失败
so没有打包进AKP导致java.lang.UnsatisfiedLinkError: dlopen failed: library “lib.so“ not found
gradle方式集成融云sdk dlopen failed: library "libsqlite.so" not found
Non-fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: library “libmmkv.so“ not found
Failed to load dynamic library
NDK编译库执行时报dlopen failed: cannot locate symbol "__exidx_end" 解决的方法