解决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']

猜你喜欢

转载自blog.csdn.net/guyuealian/article/details/122428748