使用java生成头文件
Use javah to generate header file
我正在尝试使用eclipse从Java文件生成本机使用的头文件(c/c++)。从命令行,我只能在以下位置访问javah:
C:Program Files (x86)Javajdk1.7.0_51bin>
但是我不能像这样引用我的Java类:
C:Program Files (x86)Javajdk1.7.0_51bin>javah -jni com.or.jnihelloworld.nativeclass
,因为类位于这个文件夹的外部:
C:UsersOr AzranworkspaceJniHelloWorldsrcNativeLib.java
,我想把这个文件放入一个jni文件夹
C:UsersOr AzranworkspaceJniHelloWorldjni
如何从命令行执行?一个好的教程也会很棒
这里似乎有几个问题需要解决。
。我不确定您的源代码是否设置正确。如果你的类确实是com.or. JniHelloWorld .native . class,那么它应该在目录:c: users 或AzranworkspaceJniHelloWorldsrccom或JniHelloWorld native . class.java
但是,假设类/目录是正确的。java命令使用-d指定输出目录,您可以使用-classpath指定路径,因此
javah -classpath "C:UsersOr AzranworkspaceJniHelloWorldsrc"
-d "C:UsersOr AzranworkspaceJniHelloWorldjni" com.or.jnihelloworld.nativeclass
应该把文件放到你想放的地方
您的PATH不包含JDK的bin目录
相关文章:
- 下面的C++代码将如何作为java类文件(名为Monstor)编写
- Java System.loadLibrary 不会在 /usr/lib/x86_64-linux-gnu/ 文件夹中查
- 在为 Java 编译动态链接文件时,我应该选择哪些 g++ 参数
- 如何在Java中调用C 对象文件中的函数
- TCP-Server以数据包结构(非Java客户端)发送文件
- 如何从 JAVA 程序中访问文件中定义的类.DLL方法
- 在Java项目中使用CPP和OpenCV项目的.so文件
- 使用 C++ 编译和运行 java 文件时无法装入主类
- 将 JNI -> jobject(基本上是 java 文件中的映射和/或映射的映射)转换为 std::map(c++)
- 为什么Java可以有很多Main,你可以决定要运行哪个Java文件,但对于C++来说,你只是一个Main文件
- 在技术上是否可以创建 Java 虚拟机的映像文件并使用它来更快地启动 Java 应用程序
- 我如何在Java中需要文件
- 用java编写源代码,并将其编译为其他语言的各种可执行文件?多重编译
- 使用大多数Java代码制作可执行文件,但可能添加了其他语言
- 使用 firebreath 插件打开文件夹对话框并异步返回文件夹选择,这样 java 脚本就不会被阻止
- Java打开文件,选项类似于Windows c++file_FLAG_WRITE_TROUGH
- 如何用java将文件与程序关联起来
- Java ProcessBuilder EXE文件未正确获取输入流
- 从JAVA调用C++可执行文件
- 在 Java 中使用 c++ ".lib"文件