2012-04-10 6 views
7

これは、私がAndroidファイルopencvアプリケーション用にjavahを使用してヘッダーファイルを生成したかった私のJavaファイルです。JNIのjavaヘッダーに未解決のインクルードを含める

package com.hosa; 

public class edgejava{ 
static{ 
    System.loadLibrary("edgejava"); 
} 
public native int main(``); 
} 

生成されたヘッダファイルは以下のとおりです。

eclipseは、ヘッダーファイルにjni.hをインクルードすることが解決されていないことを指摘しています。 これを解決するために必要な手順は?

に関して、 srijith

私は日食からJNIの問題を解決し

+3

私はeclipseに慣れていませんが、 '$ JRE_HOME/include'ディレクトリはインクルードディレクトリのリストにある必要があります。 – hmjd

答えて

26
私もそう、この上でつまずく誰のためにこれで問題が生じています

... - あなたはすでに行っていることがステップ1または何か似た

  1. ファイル - >新規 - >その他 - > C++> C++プロジェクト

  2. に変換右メニュープロジェクトをクリックします。 ECTヘッド - >プロパティ - > C++一般 - >パスとシンボル

  3. GNUとGNUC++言語のエントリ

    /NDK /プラットフォーム/アンドロイド-9 /アーチ・アームは/ usr /の下にこのようなパスを追加します。

    あなたのパスはあなたが、設定されているかに依存して異なるだろうが含まれているプラ​​ットフォームの数などを一度、それはあなたに

  4. を求められたときに、あなたのプロジェクトを閉じて、インデックスを再構築して行わ

    、それを再オープン、次にcリーンビルド私の場合は

jni.h中には、その後見つかりましたが、JNIEnvのなどは、彼らがjni.h中のファイル内にあるにもかかわらず、まだ認識されていないでしたが(またはそれがすぐに起こるかもしれません)。また

あなただけ(何の痛み)

UPDATEエラーを取り除くために、その後、オープン問題のあるファイルを閉じて、プロジェクトを閉じる必要があり、それは文句を言わない建物からあなたを停止し、この問題を持つ人のため注意してください。一定!上記の版で

はインディゴで行うダイアログメニュー/から次

ウィンドウ - > Preferences-> C/C++ - >インデックス

必要に応じて構築/「インデックス未使用ヘッダー」REINDEXをチェック

上記のインクルードの上に "/NDK/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/lib/gcc/arm-linux-androideabi/4.4.3/include"を追加する必要があるかもしれません言語の項目に上記の

すべてのシンボルが認識されました。これが誰かを助けてくれるのではないかと思います。

+0

Mac、Lunaは動作しません... –

+0

ウィンドウ - >環境設定 - > C/C++ - >インデックス "未使用のインデックスのインデックス"を確認してください/必要に応じてビルドしてください。 –

-3

、私は閉じられ、プロジェクトを開き、その後、 ここからNDKをダウンロードする方法を参照してくださいNDKソース内の時間エラーは消えた。

1

FIXED! Properties -> C/C++ General -> Preprocessor Include-> Entries -> Add -> Include Directory -> File System Path
APP_STL := gnustl_shared

ゴー、などが含まのパスを選択します:


Application.mkに追加

${NDK_ROOT}\platforms\android-21\arch-arm\usr\include 
${NDK_ROOT}\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a\include 
${NDK_ROOT}\sources\cxx-stl\gnu-libstdc++\4.8\include 
${NDK_ROOT}\toolchains\arm-linux-androideabi-4.8\prebuilt\darwin-x86_64\lib\gcc\arm-linux-androideabi\4.8\include 

含まれるパスごとにチェックボックス"Contains system headers"をチェックします。 !!!

Properties -> C/C++ General -> Preprocessor Include-> Providers -> Check CDT GCC Built-in Compiler Settings -> OK

プロジェクトをクリーニングして再構築します。

+0

MacでLunaを使用しています。 –

関連する問題