我已经在Eclipse Juno中创建了一个Android应用程序项目,并且我已经为此项目添加了原生支持(Android工具 - >添加原生支持)。所以Eclipse在项目中自动添加了一个jni目录,其中包含.cpp文件和Android.mk文件。
然后我构建了项目,没有错误。
为了使用opencv for android库(2.4.5),我已经添加了' include'的路径。项目中这些库的目录(属性 - > C / C ++一般 - >路径和符号 - >包括指令)。我还在Eclipse首选项中设置了 - > NDK是我电脑中ndk目录的正确路径,以便在构建项目时执行ndk-build。
但是,如果我尝试包含在.cpp文件中:
#include <opencv2/opencv.hpp>
控制台告诉我这个结果:
12:24:25 **** Build of configuration Default for project ProvaVideoCapture ****
"C:\\Users\\Micaela\\Desktop\\Android\\android-ndk-r8e\\ndk-build.cmd" all
"Compile++ thumb : jniVideoCapture <= jniVideoCapture.cpp
jni/jniVideoCapture.cpp:4:30: fatal error: opencv2/opencv.hpp: No such file or directory
compilation terminated.
make: *** [obj/local/armeabi-v7a/objs/jniVideoCapture/jniVideoCapture.o] Error 1
12:24:26 Build Finished (took 282ms)
我的Android.mk文件是:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := jniVideoCapture
LOCAL_SRC_FILES := jniVideoCapture.cpp
include $(BUILD_SHARED_LIBRARY)
我手动添加的Application.mk文件(它尚未由Eclipse自动添加)是:
APP_ABI := all
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_PLATFORM := android-9
我不知道如何解决这个问题,或者我做错了什么。
你能帮帮我吗?
答案 0 :(得分:0)
将以下路径添加到Android.mk
文件中并检查
include E:/OpenCV-2.3.1/share/OpenCV/OpenCV.mk
示例Android.mk供参考
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
OPENCV_LIB_TYPE:=STATIC
OPENCV_INSTALL_MODULES:=on
include E:/OpenCV-2.3.1/share/OpenCV/OpenCV.mk
include $(OPENCV_MK_PATH)
LOCAL_MODULE := firstcv
LOCAL_SRC_FILES := first.cpp
LOCAL_LDLIBS += -llog -ldl
include $(BUILD_SHARED_LIBRARY)