针对ARM64目标(Android)的OpenCV构建失败



我正在尝试创建一个.so库,其中包含OpenCV C++代码。我设置了一些非常基本的东西——使用visual studio来构建项目;动态共享库(Android(";样板

我从这里下载了Android OpenCV SDK:https://opencv.org/releases/

当我为ARM构建项目时,一切都运行良好,我得到了一个lib.so输出。但是当为ARM64构建时,我得到以下错误:

E0035#错误指令:此构造函数尚未移植到此站台文件:C:\Microsoft\AndroidNDK64\android-ndk-r16b\sources\cxx stl\llvm libc++\include\bitset(第266行(

以下是我如何设置项目属性:

ARM和ARM64:

属性->C/C++->其他包含目录=<openCV android sdk文件夹>\sdk\native\jni\include

ARM:

属性->链接器->概述->其他库目录=<openCV android sdk文件夹>\sdk\native\libs\armeabi-v7a

属性->链接器->输入->其他依赖项=<openCV android sdk文件夹>\sdk\native\libs\armeabi-v7a\libopencv_java4.so

ARM64:

属性->链接器->概述->其他库目录=<openCV android sdk文件夹>\sdk\native\libs\arm64-v8a

属性->链接器->输入->其他依赖项=<openCV android sdk文件夹>\sdk\native\libs\arm64-v8a\libopencv_java4.so

如果我的目标是低于21的android API,那么在为ARM构建时,我可以得到完全相同的错误。

你知道如何解决这个问题吗?

我遇到了同样的问题,决定下载OpenCV Android SDKhttps://github.com/opencv/opencv/releases/tag/4.4.0并使用NDK而不是编译源