Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile错误:make:**没有规则使目标`genesha.main.java.Jni.class';,`FileOperationsLibrary.h';所需;。停止。”;在Eclipse(Windows)中_Windows_Eclipse_Makefile_Java Native Interface_Javah - Fatal编程技术网

Makefile错误:make:**没有规则使目标`genesha.main.java.Jni.class';,`FileOperationsLibrary.h';所需;。停止。”;在Eclipse(Windows)中

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时,我

我的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时,我有以下错误:

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