0

我正在尝试使用 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

我怎样才能从命令行做到这一点?一个好的toturial也会很棒

4

2 回答 2

3

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

第一的。我不确定您的源代码是否设置正确。如果您的课程确实是 com.or.jnihelloworld.nativeclass 那么它应该在目录中:C:\Users\Or Azran\workspace\JniHelloWorld\src\com\or\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

应该把文件放在你想要的地方。

于 2014-03-20T20:09:28.773 回答
1

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

于 2014-03-20T22:33:13.757 回答