0

メイクファイルに問題があります。私は Windows で Eclipse に取り組んでおり、私のファイル構造は以下のようになっています (プロジェクト パス: D:/workspace):

Genesha    
|
|___bin          
|     |_genesha                  
|             |_main
|                  |_java
|___src                  |__Jni.class
      |_genesha                  
              |_main
                   |_jni
                        |__makefile

makefile (D:\workspace\Genesha\src\genesha\main\jni) のローカリゼーションから cmd を使用したとき、次のコマンドを使用しました。

javah -o FileOperationsLibrary.h -jni -classpath ../../../../bin genesha.main.java.Jni 

それは正しく動作します。しかし、メイクファイルを使用すると、次のエラーが発生します。

make: *** No rule to make target `genesha.main.java.Jni.class', needed by `FileOperationsLibrary.h'.  Stop.

私は長い間エラーを探していましたが、ここで何が問題なのかわかりません...

編集:私のメイクファイル

FileOperationsLibrary.h: genesha.main.java.Jni.class
    javah -o FileOperationsLibrary.h -jni -classpath ../../../../bin genesha.main.java.Jni

編集 2: 最後に、MadScientist のおかげで、私のメイク ファイル コードは次のとおりです。

FileOperationsLibrary.h: ../../../../bin/genesha/main/java/Jni.class
javah -o FileOperationsLibrary.h -jni -classpath ../../../../bin genesha.main.java.Jni

助けてくれてありがとう:)

4

1 に答える 1

1

このエラーは、メイクファイルのどこかに、次のような前提条件としてFileOperationsLibrary.hリストされているターゲットがあることを意味します。genesha.main.java.Jni.class

FileOperationsLibrary.h: genesha.main.java.Jni.class

ファイルgenesha.main.java.Jni.classが存在しないため、make はファイルをビルドする方法を見つけようとします。ただし、そのファイルをビルドする方法を示すルールがメイクファイルに定義されていないため、そのエラー メッセージが表示されます。

于 2014-01-19T14:59:31.127 に答える