【问题标题】:OpenCV fail building for ARM64 target (Android)OpenCV 无法为 ARM64 目标 (Android) 构建
【发布时间】:2021-01-22 17:17:08
【问题描述】:

我正在尝试创建一个包含 OpenCV C++ 代码的 .so 库。 我设置了一些非常基本的东西 - 使用 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

手臂:

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

Properties -> Linker -> Input-> Additional dependencies = \sdk\native\libs\armeabi-v7a\libopencv_java4.so

ARM64:

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

Properties -> Linker -> Input-> Additional dependencies = \sdk\native\libs\arm64-v8a\libopencv_java4.so

如果我的目标是低于 21 的 android API,则在为 ARM 构建时会遇到完全相同的错误。

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 嗨艾伦,你能解释一下这个过程吗?
    猜你喜欢
    • 2017-10-05
    • 1970-01-01
    • 2014-03-19
    • 2013-03-23
    • 2017-05-14
    • 2020-12-16
    • 2014-06-03
    • 2022-01-07
    • 1970-01-01
    相关资源
    最近更新 更多