Android NDK-包含错误

Android NDK-包含错误,android,android-ndk,java-native-interface,Android,Android Ndk,Java Native Interface,我需要你的帮助,因为这让我发疯。什么原因导致我的错误 错误是 "jni/algorithm.cpp:4:33: fatal error: opencv2/core/core.hpp: No such file or directory #include <opencv2/core/core.hpp> ^ compilation terminated. make: *** [obj/local/arm64-v8a/ob

我需要你的帮助,因为这让我发疯。什么原因导致我的错误

错误是

"jni/algorithm.cpp:4:33: fatal error: opencv2/core/core.hpp: No such file or directory  #include <opencv2/core/core.hpp>
                                 ^ compilation terminated. make: *** [obj/local/arm64-v8a/objs/algorithm/algorithm.o] Error 1"
当ndk尝试构建时会发生错误


提前感谢。

因此,我尝试将项目属性C/C++Build->Build命令从${NDKROOT}/ndk Build更改为${NDKROOT}/ndk-Build.cmd,并解决了所有include libs错误。诡异的

LOCAL_C_INCLUDE := /home/nemesis/adt-bundle-linux-x86_64-20140702/OpenCV-2.4.10-android-sdk/sdk/native/jni/include/opencv2
应该是

LOCAL_C_INCLUDES := /home/nemesis/adt-bundle-linux-x86_64-20140702/OpenCV-2.4.10-android-sdk/sdk/native/jni/include
也就是说,它是复数形式,应该指向以下为相对路径的位置:

#include <opencv2/core/core.hpp>
#包括

我通过在“Android.mk”中添加
LOCAL_LDLIBS+=-llog-ldl解决了我的问题

并将“Application.mk”文件添加到jni文件夹中

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-8

说什么?这是一个windows脚本,而您的目录表明您在linux上!也许这“修复”了您的问题,根本不尝试构建?你真正的解决方案应该是在你的Android中设置include路径。谢谢你,克里斯,但是你的意思是什么?我说这很奇怪,因为我使用的是linux而不是windows。我的解决方案是什么?包括什么?NDK?你认为ndk根本没有构建吗?你可以通过在项目目录中查找.so文件来判断它是否构建。正常地为了解决您的错误,我建议您添加一个include路径,指向opencv将其文件保存到您的Android中的位置。mkI尝试添加它,正如您在上面看到的本地_C_include:=/home/nemesis/adt-bundle-linux-x86_64-20140702/opencv-2.4.10-Android-sdk/sdk/native/jni/include/opencv2/core/core.hpp,但它不起作用:/这是正确的想法,但是在细节上不太正确-看我的回答哦,太好了,这样的错误,谢谢你,你是最好的:)但是它没有完全解决我的问题,现在有这些错误“在jni/algorithm.cpp:4:0:/home/nemesis/adt-bundle-linux-x86_64-20140702/OpenCV-2.4.10-android-sdk/sdk/native/jni/include/opencv2/core/core.hpp:56:21:致命错误:算法:没有此类文件或目录#include^编译终止。make:**[obj/local/arm64-v8a/objs/algorithm/algorithm.o]错误1“您还必须提供路径,并/或将其更正为指向实际存在的对象。我修复了它,我讨厌EclipseNDK:D问题是我以前在Android.mk LOCAL_模块中遇到过:=算法LOCAL_SRC_文件:=算法LOCAL_SRC_文件:=但是只有一个文件.cpp,所以它应该是语法正确的LOCAL_SRC_文件,而不是文件。。。哦,我很生气,同时也很高兴。非常感谢ChrisAPP_STL:=gnustl_static APP_CPPFLAGS:=-frti-feexceptions是我的解决方案
#include <opencv2/core/core.hpp>
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
include C:/.../OpenCV-3.1.0-android-sdk/OpenCV-android-sdk/sdk/native/jni/OpenCV.mk

LOCAL_MODULE    := Testappcv
LOCAL_SRC_FILES := Testappcv.cpp
LOCAL_LDLIBS +=  -llog -ldl 

include $(BUILD_SHARED_LIBRARY)
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-8