Makefile错误:make:**没有规则使目标`genesha.main.java.Jni.class';,`FileOperationsLibrary.h';所需;。停止。”;在Eclipse(Windows)中
我的makefile有问题。我正在Windows中处理Eclipse,我的文件结构如下(项目路径:D:/workspace): 当我从makefile的本地化(D:\workspace\Genesha\src\Genesha\main\jni)输入cmd时,我使用了以下命令:Makefile错误:make:**没有规则使目标`genesha.main.java.Jni.class';,`FileOperationsLibrary.h';所需;。停止。”;在Eclipse(Windows)中,windows,eclipse,makefile,java-native-interface,javah,Windows,Eclipse,Makefile,Java Native Interface,Javah,我的makefile有问题。我正在Windows中处理Eclipse,我的文件结构如下(项目路径:D:/workspace): 当我从makefile的本地化(D:\workspace\Genesha\src\Genesha\main\jni)输入cmd时,我使用了以下命令: javah -o FileOperationsLibrary.h -jni -classpath ../../../../bin genesha.main.java.Jni 它工作正常。但当我使用makefile时,我
javah -o FileOperationsLibrary.h -jni -classpath ../../../../bin genesha.main.java.Jni
它工作正常。但当我使用makefile时,我有以下错误:
make: *** No rule to make target `genesha.main.java.Jni.class', needed by `FileOperationsLibrary.h'. Stop.
我搜索了很长时间的错误,现在我不知道这里出了什么问题
编辑:我的makefile
FileOperationsLibrary.h: genesha.main.java.Jni.class
javah -o FileOperationsLibrary.h -jni -classpath ../../../../bin genesha.main.java.Jni
编辑2:最后,感谢MadScientist,我的make文件代码是:
FileOperationsLibrary.h: ../../../../bin/genesha/main/java/Jni.class
javah -o FileOperationsLibrary.h -jni -classpath ../../../../bin genesha.main.java.Jni
非常感谢您的帮助:)该错误意味着在您的makefile中某处有一个target
fileoperationlibrary.h
,它列出了genesha.main.java.Jni.class
作为先决条件,类似于:
FileOperationsLibrary.h: genesha.main.java.Jni.class
文件
genesha.main.java.Jni.class
不存在,因此make试图找到一种方法来构建它。但是,makefile中没有定义告诉它如何构建该文件的规则,因此您会收到错误消息。您好,我编辑了我的问题。我在eclipse中通过RMB在文件->生成目标->构建中运行这个文件。我知道,有很多像我这样的问题,但决心对我来说没用;您的编辑确认了我对错误消息的解释。这就解释了为什么你会看到这个错误。哦,现在我明白了。非常感谢您的帮助:)
FileOperationsLibrary.h: genesha.main.java.Jni.class