在IntelliJ IDEA中创建jni头文件

Son*_*ona 9 c++ java java-native-interface header intellij-idea

我想在IntelliJ IDEA中创建头文件.这就是我这样做的方式:

文件>设置>工具>外部工具

然后我点击+,指定标题并设置如下参数:

程序:C:\ Program Files\Java\jdk1.8.0_25\bin

参数:-d C:\ Users\Administrator\Documents\Visual Studio 2013\Projects\JniExampleLibrary -jni Example.JniExample

工作目录:C:\ Program Files\Java\jdk1.8.0_25\bin

但单击确定后,上面定义的路径中没有-d的JniExample.h文件

你能告诉我它有什么问题吗?

提前致谢

小智 18

以下是我用来生成.h文件的IntelliJ IDEA设置:(这适用于IDEA版本12.1.6,可能与其他版本类似)

  1. 文件 - >设置 - >外部工具
  2. 单击"编辑工具"对话框的+按钮
  3. 以下是我使用的表单名称/值对:
    • 姓名:javah
    • 组:Java
    • 描述:Java Native Interface C Header和Stub File Generator
    • 选项:全部检查
    • 显示:全部检查
    • 工具设置......
    • 程序:$ JDKPath $\bin\javah.exe
    • 参数:-jni -v -d $ FileDir $ $ FileClass $
    • 工作目录:$ SourcepathEntry $
  4. 单击确定,单击确定
  5. 使用本机方法导航到您的java类
  6. 在编辑器中显示java类后,转到Tools-> Java-> javah
  7. 请注意与您的类在同一目录中生成的.h文件.

  • 从 JDK 8 开始,使用“javac -h”而不是“javah”。参数/参数:`-h 。$文件目录$/$文件名$` (2认同)

Gun*_*ein 6

我正在使用 Java 11 (OpenJDK) 进行编译,所以我没有可用的 javah。

由于现在创建头文件的选项已包含在 javac 中,因此我将其添加为编译器选项。

  1. 文件->设置->构建、执行、部署->编译器->Java编译器
  2. 在“其他命令行参数”中添加:-h YourOutDir

(IntelliJ Community 2019.2,其他版本应该类似)

例子:

-h C:/Development/Java/YourApp/cpp
Run Code Online (Sandbox Code Playgroud)

我对 IntelliJ 的“-h $FileDir$”或其他宏命令没有任何运气。