Android OpenCV opencv2/core/core.hpp:没有这样的文件或目录

Android OpenCV opencv2/core/core.hpp:没有这样的文件或目录,android,c++,opencv,java-native-interface,Android,C++,Opencv,Java Native Interface,我正在创建一个小项目来测试Android Studio 1.4上的opencv(2.4),但当我尝试执行该应用程序时,NDK编译器有一个问题。我认为cpp文件找不到opencv的路径,但我不知道为什么 有没有办法解决这个问题 错误: /home/User/AndroidStudioProjects/OpenCV/app/src/main/jni/native_processing.h 错误:(10,33)opencv2/core/core.hpp:没有这样的文件或目录 JNI: OpenCV/a

我正在创建一个小项目来测试Android Studio 1.4上的opencv(2.4),但当我尝试执行该应用程序时,NDK编译器有一个问题。我认为cpp文件找不到opencv的路径,但我不知道为什么

有没有办法解决这个问题

错误:

/home/User/AndroidStudioProjects/OpenCV/app/src/main/jni/native_processing.h
错误:(10,33)opencv2/core/core.hpp:没有这样的文件或目录

JNI:

OpenCV/app/src/main/jni/native_processing.cpp

OpenCV/app/src/main/jni/native_processing.h

#ifndef OPENCV_SAMPLE_NATIVE_PROCESSING_H
#define OPENCV_SAMPLE_NATIVE_PROCESSING_H

#include <jni.h>

#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/features2d/features2d.hpp>
#include <vector>

extern "C" {
JNIEXPORT void JNICALL      Java_com_projeto_opencv_MainActivity_FindFeatures(JNIEnv *, jobject,
                                                                                 jlong addrGray,
                                                                                 jlong addrRgba);
 }
 #endif

您是否只尝试了
#包含
(而不是
#包含
)?
这对我来说很有效(ubuntu 14.04和opencv 2.4)。

包含的opencv.mk为您定义了包含路径,所以不要在包含之后再次尝试重新定义它。另外,您可能更喜欢
OPENCV_LIB_TYPE:=STATIC
,因此稍微清理一下Android.mk文件:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
OPENCV_CAMERA_MODULES:=on
OPENCV_LIB_TYPE:=STATIC
include /home/User/AndroidStudioProjects/OpenCV/OpenCV-android-sdk2/sdk/native/jni/OpenCV.mk

LOCAL_SRC_FILES := native_processing.cpp
LOCAL_LDLIBS +=  -llog -ldl
LOCAL_MODULE:= native_test

include $(BUILD_SHARED_LIBRARY)

你真的使用相机模块吗

从build.gradle中注释掉以下内容(如果有):

将此添加到gradle:

sourceSets.main {
    jni.srcDirs = [] //disable automatic ndk-build call
}

没用。如果我把opencv#include(#include#include#include)。。。编译器在$include中给了我一个错误。。。我认为问题不在OpenCVI上。您是否在Application.mk中定义了APP_STL?请发布
ndk build V=1
的输出,但是如果你使用gradle插件来构建你的。重要的是build.gradleI的内容在build.gradle中添加了android{sourceSets{main{jni.srcDirs=[]}},它可以工作!嗨,盖森,我也面临着同样的问题。你能帮我吗
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)
OPENCV_CAMERA_MODULES:=on
OPENCV_LIB_TYPE:=STATIC
include /home/User/AndroidStudioProjects/OpenCV/OpenCV-android-sdk2/sdk/native/jni/OpenCV.mk

LOCAL_SRC_FILES := native_processing.cpp
LOCAL_LDLIBS +=  -llog -ldl
LOCAL_MODULE:= native_test

include $(BUILD_SHARED_LIBRARY)
externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
    }
sourceSets.main {
    jni.srcDirs = [] //disable automatic ndk-build call
}