如何使用javac而不是javah来使用Eclipse创建c ++ JNI标头

问题描述 投票:0回答:1

我正在尝试按照教程(http://www.lithiumhead.com/notes/windows_jni)从Eclipse生成c ++头文件。它基于使用javah(就像我发现的许多其他教程一样),但是javah在较新版本的jdk中不存在。简单地用javac替换javah不起作用,因为我收到“错误:无效标志:-jni”。我知道我必须使用-h标志,但是我不知道在哪里!这是当前状态的快照:

enter image description here

感谢您的帮助,并提供了指向最新教程(适用于jdk,eclipse等的较新版本的最新指南)的链接

c++ eclipse java-native-interface javac
1个回答
1
投票

您几乎明白了,您只需要稍微更改一下标志即可。全行是

-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

这是我窗口的屏幕截图,仅供参考。 window

© www.soinside.com 2019 - 2024. All rights reserved.