0

我正在尝试一个示例 JNI 程序,但无法让 javah 工具工作。我在 C:\Workspace\VideoRecorder\src\org\ccb\wifo\video\Nativejni.java 中有 1 个源文件 Nativejni.java。org.ccb.wifo.video 是包的名称。我已经编译并在 src 目录中获得了一个类文件。对于生成头文件,我尝试如下

C:\Workaspace\VideoRecorder\bin>javah -jni org.ccb.wifo.video.Nativejni

但我得到了一个像 .

**error: cannot access org.ccb.wifo.video.Nativejni
class file for org.ccb.wifo.video.Nativejni not found
javadoc: error - Class org.ccb.wifo.video.Nativejni not found.
Error: No classes were specified on the command line.  Try -help.**

我用谷歌搜索了很多并尝试了在那里找到的解决方案。但是没有用。请帮我。

4

3 回答 3

0

我在这上面浪费了 3 个小时。这是由于某种java目录问题或什么。无论如何,我就是这样做的。

打开命令行。转到 .java 类所在的确切文件夹。去那里执行命令

javac HelloWorld.java

然后返回到包含完整包的文件夹。键入此语句用于从类文件生成头文件。该目录必须像我的情况一样,整个包都在 Java 目录文件中,所以我回到那里并键入以下命令。

javah -jni com.example.aliabbasjaffri.temporary.HelloWorld

瞧,头文件为您服务。

于 2014-07-02T08:33:15.760 回答
0

你必须输入类路径,请试试这个,

 Javah - jni -classpath C:\Workspace\VideoRecorder\src\  org.ccb.wifo.video.Nativejni
于 2014-08-14T15:00:12.913 回答
0

可能有很多原因。主要与-classpath有关。如果您不想手动更改类路径,则可以在控制台中编译时进行。

javah -d /dir/where/output/generated -classpath ;<absolute path to the /bin/classes> <package name>

1)记住“;” 很重要,因为它将您提供的路径附加到已经存在的路径。

2) 小心使用斜线(Linux = / 和 Windows = )。

3)我想你明白我所说的绝对路径是什么意思。

于 2013-02-05T13:58:17.447 回答