作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试使用 javah 工具从 Windows 7 操作系统的命令行创建一个头文件,但我一直都失败了。
我遵循了不同的方法,甚至从 oracle 阅读了 javah 工具的文档,但它们无助于克服这个问题。
我的类文件(hellojni.class
)和java文件(hellojni.java
)都在D:\
驱动器的根目录下.
但是每当我运行 javah 工具时,它都会给我一个错误:
could not find class file for hellojni
我也尝试提供类路径,但没有得到任何头文件。
最佳答案
我怀疑问题是你的类有一个包,而你试图从包含类文件的目录而不是包根目录运行命令。
Samhain 的示例有效,因为他的 MyClass.java
不包含包,而我怀疑你的包含。
例如,假设我们在 c:\src\com\example\MyClass.java
package com.example;
public class MyClass {
public native void myMethod();
}
转到命令行并执行以下命令:
c:\src\com\example>javac MyClass.java
c:\src\com\example>dir
Directory of C:\src\com\example
2015-02-23 03:17 PM <DIR> .
2015-02-23 03:17 PM <DIR> ..
2015-02-23 03:20 PM 219 MyClass.class
2015-02-23 03:17 PM 84 MyClass.java
c:\src\com\example>javah MyClass
Error: Could not find class file for 'MyClass'.
c:\src\com\example>cd c:\src
c:\src>javah com.example.MyClass
c:\src>dir
Directory of C:\src
2015-02-23 03:18 PM <DIR> .
2015-02-23 03:18 PM <DIR> ..
2015-02-23 03:16 PM <DIR> com
2015-02-23 03:18 PM 449 com_example_MyClass.h
成功了!
关于Javah 工具错误 : Could not find class file for hellojni,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19137201/
我是一名优秀的程序员,十分优秀!