提问者:小点点

JNI:“使用'makefile'时,目标'HelloJNI.h'的receipte失败


我正在尝试在Eclipse中使用JNI,使用本教程,但我未能使用makefile,如“Eclipse中的2.6 JNI-步骤3”部分所述。

当我右键单击 jni 文件夹时,选择“构建目标” =

10:19:12 **** 构建配置 项目默认 HelloJNI **** make HelloJNI.h javac -h -classpath ../bin HelloJNI makefile:10: recipe for target 'HelloJNI.h' 失败process_begin: CreateProcess(NULL, javac -h -classpath ../bin 你好JNI, ...失败。make (e=2): Le fichier spécifié est introuvable.

make: *** [HelloJNI.h]错误2

10:19:13构建完成(耗时801ms)

下面显示的makefile文件的最后一行表示存在错误(但是哪一个?)

# Define a variable for classpath
CLASS_PATH = ../bin

# Define a virtual path for .class in the bin directory
vpath %.class $(CLASS_PATH)

HelloJNI.h : HelloJNI.class
    javac -h -classpath $(CLASS_PATH) $*

我检查了我在“C:\MinGW\bin”中有一个“make”文件。我没有,所以我做了一个“mingw32-make.exe”的副本,并将其重命名为“make.exe”。< br >我还试图更改最后一条指令javac -h(...)到javah(...)但是我得到同样的错误。

我想错误的路线

CreateProcess(NULL,javac-h-classpath../bin HelloJNI,…)失败。make(e=2):这是一个很好的例子。[找不到指定的文件。]

应该帮助我明白什么是错的,但我没有成功。

谢谢你的帮助


共1个答案

匿名用户

该错误不是来自javac'-它是由javac不在PATH中并且CreateProcess系统调用无法找到它引起的,因此该命令未执行。javac 之后你所做的任何改变都不会在那里有所帮助。可能的修复方法是例如

>

  • javac的路径添加到PATH
  • 调用javac并提供完整路径:

    c:/Foo/Bar/JavaSDK/bin/whatever/javac -h -classpath $(CLASS_PATH) $*