OpenCV无法为ARM64目标构建(Android)

时间:2020-10-07 17:29:26

标签: android c++ visual-studio opencv c++11

我正在尝试创建一个.so库,其中包含OpenCV C ++代码。 我设置了一些非常基础的内容-使用Visual Studio通过“动态共享库(Android)”模板来构建项目。

我从此处下载了Android OpenCV SDK: https://opencv.org/releases/

当我为ARM构建项目时,一切运行正常,并且我得到lib.so输出。 但是在为ARM64构建时,出现以下错误:

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

这是我设置项目属性的方式:

ARM和ARM64:

属性-> C / C ++->其他包含目录= \ sdk \ native \ jni \ include

ARM:

属性->链接器->常规->其他库目录= \ sdk \ native \ libs \ armeabi-v7a

属性->链接器->输入->其他依赖关系= \ sdk \ native \ libs \ armeabi-v7a \ libopencv_java4.so < / p>

ARM64:

属性->链接器->常规->其他库目录= \ sdk \ native \ libs \ arm64-v8a

属性->链接器->输入->其他依赖关系= \ sdk \ native \ libs \ arm64-v8a \ libopencv_java4.so < / p>

如果我的目标是低于21的android API,则在为ARM进行构建时能够获得完全相同的错误。

关于如何解决该问题的任何想法?

1 个答案:

答案 0 :(得分:0)

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