我正在尝试使用 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
我如何从命令行执行此操作? 一个好的旅游也会很棒
最佳答案
这里似乎有几个问题需要解决。
首先。我不确定您的源代码是否设置正确。如果你的类确实是 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
应该把文件放在你想要的地方。
关于java - 使用javah生成头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22541671/