使用javah生成头文件

时间:2014-03-20 18:12:23

标签: java c++ javah

我正在尝试使用eclipse从java文件生成本机使用的头文件(c / c ++)。 从命令行我只能在这个位置时到达javah:

C:\Program Files (x86)\Java\jdk1.7.0_51\bin>

但我不能像这样引用我的java类:

C:\Program Files (x86)\Java\jdk1.7.0_51\bin>javah -jni com.or.jnihelloworld.nativeclass

因为该文件夹位于此文件夹之外:

C:\Users\Or Azran\workspace\JniHelloWorld\src\NativeLib.java

我希望将此文件放入以下的jni文件夹中:

C:\Users\Or Azran\workspace\JniHelloWorld\jni

我怎样才能从命令行执行此操作? 一个好的小伙伴也很棒

2 个答案:

答案 0 :(得分:3)

这里似乎有几个问题需要解决。

首先。我不确定您的源代码是否设置正确。如果你的类确实是com.or.jnihelloworld.nativeclass那么它应该在目录中:C:\ Users \或Azran \ workspace \ JniHelloWorld \ src \ com \或\ jnihelloworld \ nativeclass.java

但是,假设类/目录是正确的。 javah命令使用-d指定输出目录,您可以使用-classpath指定路径

javah -classpath "C:\Users\Or Azran\workspace\JniHelloWorld\src\" \ 
-d "C:\Users\Or Azran\workspace\JniHelloWorld\jni" com.or.jnihelloworld.nativeclass

应该将文件放在您想要的位置。

答案 1 :(得分:1)

您的PATH不包含JDK的bin目录。