0

私は OpenCV と android NDK が初めてです。サンプルの NDK プログラムから始めるために、ネイティブ関数を持つアクティビティを作成して実装したところ、正常に動作しました。正常にビルドして実行できます。

しかし、CPP ファイルでは、次のヘッダーを挿入します:-

#include <opencv2/core/core.hpp> 

私はEclipseで次のようにビルドエラーを取得しています :致命的なエラー: アルゴリズム: そのようなファイルまたはディレクトリのコンパイルは終了しませんでした。作る:[obj/local/armeabi/objs/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 ヘッダー ファイルのインポート中にどこで間違いを犯しているのか教えてください。また、「アルゴリズム」ファイルには、core.hpp の 56 行目で「アルゴリズム」ファイルを CTRL キーを押しながらクリックすると、Eclipse でアクセスできます。

4

1 に答える 1

0

「 Application.mk」ファイルを作成しましたか?

この答えが役立つかもしれません。

于 2013-03-15T08:43:33.820 に答える