これは本当にイライラします-コマンドラインからネイティブコードをビルドできますが、Eclipse(Sequoyahプラグインが有効)からビルドすると、ヘッダーが見つからないなどの単純なコンパイルエラーが発生します...コマンドラインからライブラリをビルドする場合でもEclipseから実行しようとするたびに再構築され、再びエラーが発生します-問題を特定するオプションがなくなったため、イライラしています.誰かがこれに光を当てることができます.
1 に答える
表示されているエラーは、Eclipse のエディターが見つけられない各ヘッダーにエラー マーカーが付いた未解決のインクルージョンです。Sequoyah と ADT をインストールした後、Sequoyah 構成を NDK にポイントすると、コーディングを開始するために必要なものがすべて揃っていることが予想されるため、これを見ると混乱します。
観察する2つのこと。jni ディレクトリ内の C/C++ ファイルの 1 つをクリックするまで、ADT の「Android Perspective」でビルドするプロセスは機能します。これらのいずれかを開くと、エラー マーカーが表示され、プロジェクトはエラーを含むものとしてタグ付けされます。
2 つ目の観察として、プロジェクトを C/C++ パースペクティブまたは Sequoyah の Android ネイティブ パースペクティブに変換すると (明らかに、この猫の皮を剥ぐには 2 つの方法があります)、NDK ツールチェーンに関するプロジェクト設定、インクルード パス、およびビルダー設定を構成することができます。 . ここで、変更ごとに ndk-build を自動的に起動するように設定できます。また面白いことに、C/C++ ソースのいずれかをクリックするまで、ndk-build は正常に動作します。
[ここ] http://help.eclipse.org/galileo/index.jsp?topic=/org.eclipse.cdt.doc.user/tasks/cdt_t_proj_paths.htmをクリックすると、 CDT のインクルード パス。C/C++ (いずれか、または両方) のインクルード パスを設定して、プラットフォーム フォルダーのインクルードを取得する必要があります。
たとえば、プロジェクトの hello-jni-to-the-world プロジェクトを android-9 に設定しました。インクルード パスを構成します: android-ndk-r6b/platforms/android-9/arch-arm/usr/include 。これで、適用/保存をクリックするまで魔法は表示されず、インデックスを再構築するように求められます.
Stackoverflow には、同じ質問をしているスレッドが他に 2 つか 3 つあるので、それらを見つけてコメントに追加する必要があります。基本的に、決定的な答えはなく、通常は質問に質問で答えることがたくさんあります: NDK のどのバージョンを使用していますか、コードを投稿できますか、Java をインストールしましたか、コンピューターはオンになっていますか?