关于dll文件的生成以及找不到jni.h的解决办法

引用
环境:Winxp+VC6.0
过程:编绎生成Dll文件时出错



首先是关于dll文件的生成:

方法如下:

打开VC++6.0,新建->; 工程 ->; win32 Dynamic-Link Library在向导中选择空工程

添加如用javah生成的头文件和自己写的一个cpp文件,然后编译运行,如果没有出现错误,既可以在编译成功的debug文件夹中找到dll文 件,如果出现找不到jni.h的错误,那么用如下方法解决:

fatal error C1083: Cannot open include file: 'jni.h': No such file or directory

引用


将以下文件:

Java 代码
  1. \jdk\include\jni.h  
  2.   
  3. \jdk\include\win32\jawt_md.h  
  4.   
  5. \jdk\include\win32\jni_md.h  
\jdk\include\jni.h

\jdk\include\win32\jawt_md.h

\jdk\include\win32\jni_md.h



复制到Visual Studio.net的安装目录下的\Vc7\include目录中

如果是VC6.0,自己找相应的目录即可!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中调用DLL文件需要使用Java Native Interface (JNI) 技术。下面是配置本地DLL库的步骤: 1.编写包含JNI方法的本地C/C++代码,并生成DLL文件。 2.在Java代码中声明本地方法。 3.将DLL文件拷贝到Java项目的一个目录下,例如项目的根目录下创建一个“lib”文件夹。 4.在Java代码中通过System.loadLibrary()方法加载DLL文件。 具体步骤如下: 1.编写包含JNI方法的本地C/C++代码,并生成DLL文件。 在本地C/C++代码中,需要包含jni.h头文件,并实现Java声明的native方法。在编译时需要指定生成DLL文件。例如在Windows环境下可以使用以下命令: ``` gcc -Wl,--add-stdcall-alias -I"%JAVA_HOME%\include" -I"%JAVA_HOME%\include\win32" -shared -o mydll.dll mydll.c ``` 其中,`%JAVA_HOME%`是JDK的安装路径。 2.在Java代码中声明本地方法。 在Java代码中使用native关键字声明需要调用本地方法。例如: ``` public native void myMethod(); ``` 3.将DLL文件拷贝到Java项目的一个目录下。 将DLL文件拷贝到Java项目的一个目录中,例如项目的根目录下创建一个“lib”文件夹,并将DLL文件放在其中。 4.在Java代码中通过System.loadLibrary()方法加载DLL文件。 在Java代码中使用System.loadLibrary()方法加载DLL文件。例如: ``` System.loadLibrary("mydll"); ``` 其中,"mydll"是DLL文件的名称(不包含文件扩展名)。需要注意的是,DLL文件的搜索路径包括系统路径和Java虚拟机指定的路径。 完成以上步骤后,就可以在Java代码中调用本地DLL方法了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值