【问题标题】:Calling native opencv, from native c++ files in Android从 Android 中的本机 c++ 文件调用本机 opencv
【发布时间】:2017-03-27 21:30:29
【问题描述】:

在这里真的很挣扎。基本上,我有一大堆来自 iOS 项目的 c++ 文件,它们使用 opencv 并且工作正常。

现在,我正在尝试移植到 Android。所以我需要做的是,将我拥有的现有 c++ 文件作为共享库拉入 Android 项目,并且仍然能够调用本机 opencv c++ 方法。这可能吗?

我知道 java 实现只是 c++ 代码的一堆包装器,但我似乎找不到从项目中的其他 c++ 文件调用本机 c++ 代码的方法。任何帮助表示赞赏。谢谢

史蒂夫

【问题讨论】:

    标签: java android c++ opencv


    【解决方案1】:

    您是否尝试过使用Android NDK (Native Development Kit)?它允许您在 Android 中使用 c/c++ 代码。但是您不能简单地将库导入您的应用程序,您需要使用 NDK(.SO 文件)构建它,它会生成充当代码链接器的脚本。

    【讨论】:

      【解决方案2】:

      如果我对您的理解正确,您需要在本机层(而不是通过 Java API)与 opencv 交互。您应该能够为您的目标平台获取 .so 库以及必要的标头,并使用 NDK 对其进行构建。

      如果您的应用程序项目没有 JNI 部分,只需将相应的 OpenCV 原生库从 /sdk/native/libs/ 复制到您的项目目录到文件夹 libs/。

      source

      有很多方法可以设置 NDK 构建。较新版本的 CMake (>=3.7.2) 使得交叉编译相对容易。见this page

      【讨论】:

        猜你喜欢
        • 2017-09-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-08
        • 2013-11-19
        • 1970-01-01
        • 1970-01-01
        • 2023-01-31
        相关资源
        最近更新 更多