我正在尝试按照教程(http://www.lithiumhead.com/notes/windows_jni)从Eclipse生成c ++头文件。它基于使用javah(就像我发现的许多其他教程一样),但是javah在较新版本的jdk中不存在。简单地用javac替换javah不起作用,因为我收到“错误:无效标志:-jni”。我知道我必须使用-h标志,但是我不知道在哪里!这是当前状态的快照:
感谢您的帮助,并提供了指向最新教程(适用于jdk,eclipse等的较新版本的最新指南)的链接
您几乎明白了,您只需要稍微更改一下标志即可。全行是
-h jni -d ${env_var:TMPDIR} ${selected_resource_loc}
分解成部分:
-h jni
:相对于工作目录的jni
目录中的输出标头。 (我将其设置为项目本身,而不是bin
)-d ${env_var:TMPDIR}
:将类文件输出到一个临时目录中。我们不在乎,因此我将其输出到$TMPDIR
。在Windows上,您可能需要TEMP
。${selected_resource_loc}
:将完整路径传递到当前选择的文件。您也可以硬编码“ HelloWorld.java”。运行工具为我生成了jni/helloJNI_HelloJNI.h
。