2013-02-10 32 views
0

我是OpenCV和android NDK的新手。从一个NDK示例程序开始,我编写了一个具有本机功能的活动并实现它,它工作正常。 我能够成功构建和运行它。OpenCV与Android 4.0和NDK r8d不起作用

但是,当在CPP文件,我插入以下标题: -

#include <opencv2/core/core.hpp> 

我得到的日食生成错误为: - E:/ SOFTWARE \ java的\ android_adt \ OpenCV的-2.4 .3.2-android-sdk/sdk/native/jni/include/opencv2/core/core.hpp:56:21:致命错误:算法:没有这样的文件或目录 编译终止。 化妆: [OBJ /本地/ armeabi/OBJ文件/ OpenCVTest/OpenCVTest.o]错误1 *

这是我的java文件: -

package com.example.opencvtest; 

import android.os.Bundle; 
import android.app.Activity; 
import android.util.Log; 
import android.view.Menu; 
import android.widget.TextView; 

public class OpenCVMain extends Activity { 

    public final String TAG = "OPENCVLOG"; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Log.i(TAG,"loading the library OpenCVTest.so"); 
     System.loadLibrary("OpenCVTest"); 
     Log.i(TAG,"Loaded the library successfully"); 
     TextView t = new TextView(this); 
     t.setText(nativeDemo()); 
     setContentView(t); 
     //setContentView(R.layout.activity_open_cvmain); 
    } 

    public native String nativeDemo(); 

} 

JNI CPP文件: -

#include <jni.h> 
#include <opencv2/core/core.hpp> 


extern "C" 
{ 

jstring Java_com_example_opencvtest_OpenCVMain_nativeDemo(JNIEnv* env, jobject obj); 
} 

jstring Java_com_example_opencvtest_OpenCVMain_nativeDemo(JNIEnv* env, jobject obj) 
{ 
    return env->NewStringUTF("Hello Native !!!!"); 
} 

Android.mk文件: -

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

include ${OPENCVROOT}/sdk/native/jni/OpenCV.mk 

LOCAL_MODULE := OpenCVTest 
LOCAL_SRC_FILES := OpenCVTest.cpp 

include $(BUILD_SHARED_LIBRARY) 

请指导我在导入OpenCV头文件时犯的错误。 此外,“算法”的文件,我可以在Eclipse中访问,当我做CTRL +点击“算法”的文件中core.hpp线56

回答

0

你创建一个“Application.mk”文件?

This answer可能会有所帮助。