繁体   English   中英

OpenCV Android NDK项目将无法构建

[英]OpenCV Android NDK Project will not build

我在Ubuntu上使用OpenCV 2.4.4和Eclipse Juno。 我的问题类似于这个OpenCV for android示例程序显示错误

但是现在正在把我赶出去。 我周末的大部分时间都在努力让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中构建,即在虚拟设备或真实设备上构建apk for tesitng,那么我得到命名空间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)

Application.mk

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

我不认为这会很困难。 我应该补充一点,我已经成功地将opencv与Android一起用于我使用Eclipse 3.5(我认为)和OpenCV 2.4.2构建在WIndows上的rproject中

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

嗨,我和你有同样的问题,我添加下面的“opencv android sdk”路径,包括问题消失了。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM