【问题标题】:OpenCV Android NDK Project will not buildOpenCV Android NDK 项目将无法构建
【发布时间】:2013-03-23 21:10:22
【问题描述】:

我在 Ubuntu 上使用 OpenCV 2.4.4 和 Eclipse Juno。 我的问题和这个类似OpenCV for android sample programs showing error

但现在让我很奇怪。我周末的大部分时间都在试图让 ndk 和 opencv 库发挥得很好,但我仍然无法让它工作。我的测试 C++ cpp 文件中包含以下内容 -

#include <jni.h>
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <cstdlib>

using namespace cv; //this is a problem
...
...

当我尝试构建“无法找到命名空间 cv”时,它会告诉我。 哦,好吧,我一定是写错了一些路径,或者没有使用正确的库,对吧? 错误的。 在终端中,ndk-build 构建 .so 文件而没有任何错误。我可以在项目文件夹中看到它们。 但是,如果我尝试在 eclipse 中构建,即在虚拟设备或真实设备上构建用于 tesitng 的 apk,那么我会收到命名空间 cv 错误并且构建失败,然后在 cpp 文件中,cv 带有红色下划线,并且在 eclipse 中文件标记为红色,在“更正”此文件之前,我什至无法尝试构建。

显然我做错了什么。但是如果我关闭我的 eclipse 项目然后重新打开它,cpp 文件不再标记为红色,我可以进行 apk 构建。如果我尝试打开 cpp 文件,红色会返回并且在我完成项目关闭/打开 rigmarole 之前不会发生更多构建。

老实说,我不知道问题的原因是什么。任何帮助将不胜感激。

我的 android.mk 文件:

include $(CLEAR_VARS)


OPENCV_CAMERA_MODULES:=off
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=STATIC
include /the/correct/path/tp/opencv/sdk/native/jni/OpenCV.mk 

LOCAL_MODULE    := mylib
LOCAL_SRC_FILES := mylib.cpp
include $(BUILD_SHARED_LIBRARY)

应用程序.mk

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := all #i have tried various targets
APP_PLATFORM := android-8
APP_MODULES := mylib

我没想到会这么难。我应该补充一点,我已经在另一个项目中成功地使用了带有 Android 的 opencv

编辑 我还想说我只是做了一个快速的'n脏测试opencv操作。我编写了一个快速的 Sobel 函数,并将其作为 Java 文件中的本机函数调用,并成功地“sobelled”了一个位图。当然,我仍然必须关闭/打开我的项目才能做到这一点。

【问题讨论】:

  • 对于您的 Sobel 测试,您是使用 Eclipse 还是 ndk-build 编译的?您确定您在 Eclipse 项目中正确链接了 OpenCV4Android 吗?您是否将&lt;OpenCV4Android&gt;/sdk/native/jni/include 添加到项目属性中的“路径和符号”中?看起来您的代码没问题(因为 ndk-build 在命令行中工作)但 Eclipse 只是无法识别该库...

标签: android eclipse opencv android-ndk


【解决方案1】:

您好,我遇到了同样的问题,在我在“opencv android sdk”下面添加包含问题的路径后消失了。

exp : C:\project\OpenCV-2.4.6-android-sdk\sdk\native\jni\include 用你的 opencv-android-sdk 路径切换路径。

【讨论】:

    【解决方案2】:

    我知道这可能为时已晚,但在我的情况下(Windows+Eclipse)我纠正了这个问题,只是在 opencv jni 库的路径和符号包含中将反斜杠“\”更改为斜杠“/”。

    示例: 错误的 H:\opencv\sdk\native\jni\include 正确 H:/opencv/sdk/native/jni/include

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-11
      • 2014-09-23
      • 2012-01-25
      • 2014-03-19
      • 2018-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多