解决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" 解决的方法