【发布时间】: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