0

我在 Eclipse Juno 中创建了一个 Android 应用程序项目,并且在我为这个项目添加了本机支持之后(Android 工具 -> 添加本机支持)。所以Eclipse在项目中自动添加了一个jni目录,里面有一个.cpp文件和Android.mk文件。

然后我构建了项目,没有错误。

为了将opencv用于android库(2.4.5),我在项目中添加了这些库的“包含”目录的路径(属性-> C/C++常规->路径和符号->包含目录) . 我还在 Eclipse Preferences -> 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

我不知道如何解决这个问题,或者我做错了什么。

你可以帮帮我吗?

4

1 回答 1

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)
于 2013-05-14T11:10:07.467 回答