`
pichcar
  • 浏览: 289430 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多
首先是关于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将以下文件:\jdk\include\jni.h

\jdk\include\win32\jawt_md.h

\jdk\include\win32\jni_md.h

复制到Visual Studio.net的安装目录下的\Vc7\include目录中
如果是VC2005则存放到安装目录下的\VC\include目录中

如果是VC6.0,自己找相应的目录即可!
分享到:
评论

相关推荐

    jni.zip jni编译jni下载

    在描述中提到的`jni.h`和`jni_md.h`是JNI编程中必不可少的头文件。`jni.h`包含了JNI接口的所有定义,如函数原型、数据类型等,是编写本地方法(Native Methods)的核心。开发者在编写C/C++代码来实现Java中的native...

    jni.rar_jni

    `jni.h`和`jni_md.h`是JNI的头文件,包含了许多在编写本地方法时需要使用的函数原型和数据结构定义。`jni.h`是通用的JNI接口,而`jni_md.h`则包含特定平台的相关信息,如指针大小和调用约定等。在C/C++代码中,需要...

    visual studio 2019下C++通过JNI调用JAVA代码

    在Visual Studio 2019中,创建一个新的C++项目,将生成的`HelloWorld.h`头文件添加到项目中,并编写对应的C++源文件,例如`HelloWorld.cpp`。实现`printMessage()`方法,如下: ```cpp #include "HelloWorld.h" ...

    JNI学习笔记.doc

    需要注意的是,在编译过程中可能会遇到找不到`jni.h`或`jni_md.h`的问题,可以通过将这些头文件复制到项目的适当位置来解决。 ##### 5. 加载DLL并调用Native方法 最后一步是在Java程序中加载生成的DLL文件,并调用...

    cygwin可以编译生成windows下供调用的dll

    这样做的好处在于,只需要.lib文件即可完成编译,而不需要将DLL文件放在特定的位置。 - **链接.lib文件** 在编译链接时,可以直接链接.lib文件: ```bash gcc main.c MyTest.lib -o output.exe ``` - **确保DLL...

    jni调用第三方dll最简单的实例

    创建一个C/C++源文件,例如`JniDemo.c`,并包含`JniDemo.h`以及jni.h头文件: ```c #include "JniDemo.h" #include <jni.h> JNIEXPORT jint JNICALL Java_JniDemo_callDllFunction (JNIEnv *env, jobject obj, j...

    jni.zip_java jni_jni_jni-api_jni方面的书

    本资源包含的“jni.zip”是一个关于JNI的资料包,内含一本名为“jni.pdf”的书籍,对于学习和理解JNI非常有帮助。 JNI的核心在于提供了一种方式,使得Java应用程序能够调用本地方法(即非Java语言编写的方法),...

    jni.rar_java jni_jni

    这个"jni.rar"压缩包包含了一份关于Java JNI的文档,可以帮助我们深入理解如何在Java程序中调用本地(native)代码。 1. **JNI基础知识**: - JNI接口定义了一组函数,使得Java代码可以调用C/C++函数,反之亦然。...

    JNI开发.rar

    5. **编译和链接**:将本地方法的C/C++源文件编译为动态链接库(如.so文件在Linux上,.dll文件在Windows上),这一步通常需要指定特定的编译选项,比如链接到Java运行时库。 6. **加载本地库**:在Java代码中,通过...

    JNI.zip_java jni_jni

    这个“JNI.zip”文件包含了一份关于JNI编程的全攻略,对于想要学习和理解JNI的开发者来说是一份宝贵的资源。 JNI的核心概念主要包括以下几个方面: 1. **本地方法接口(JNI Interface)**:JNI定义了一组函数,...

    JNI调用第三方dll实例

    确保在配置属性中设置正确的Java SDK路径,以便编译器能找到`jni.h`。同时,你需要添加你的Java项目的`classpath`到系统路径,使C++代码能找到Java的`dll`入口点。 5. **链接第三方DLL**:在C++代码中,你需要使用...

    使用JNA替代JNI调用DLL,并解决内存溢出问题

    例如,如果开放平台提供了C/C++开发的二进制数据解析服务,且给出了相应的.h头文件,那么在Java中直接调用并解析这些数据可能会相当复杂且效率不高。 #### 解决方案概述 为了解决上述问题,一种常见的策略是请求C++...

    深入浅出JNI.第一讲 (JNI概述、编写首个JNI程序)

    2. **生成头文件**:使用`javah`工具(在现代版本的Java中已被`javac -h`替代)从Java类生成JNI头文件,例如`HelloWorld.h`。 3. **实现本地方法**:在C/C++代码中,根据生成的头文件实现本地方法。这个过程通常涉及...

    Jni应用个人详解

    1. 找不到jni.h文件:该问题可以通过将jdk的bin目录和include目录添加到编译环境中来解决。 2. 动态链接库加载失败:该问题可以通过检查动态链接库的路径和名称来解决。 Jni是一种powerful技术,allowing Java程序...

    JNI获取Java中类方法、构造函数

    #include <jni.h> /* Header for class JniTest */ #ifndef _Included_JniTest #define _Included_JniTest #ifdef __cplusplus extern "C" { #endif /* * Class: JniTest * Method: callNativeMethod * ...

    jni调用c++ delphi中的dll.

    确保编译时链接到JNI库,并正确设置系统路径以找到Java的库。 6. **加载DLL并调用方法** 在本地代码中,使用`LoadLibrary`(Windows)或`dlopen`(Unix-like系统)加载DLL。然后,使用`GetProcAddress`(Windows)...

    通过JNI调用第三方动态库(生成两个.so文件)

    #include <jni.h> #include "JniAdd.h" JNIEXPORT jint JNICALL Java_com_example_JniAdd_add(JNIEnv *env, jobject /* this */, jint a, jint b) { return a + b; } ``` 这里的`JNIEXPORT`和`JNICALL`是JNI的宏...

    JNI.jishu.rar_jni

    - **JNI头文件生成**:在Java中声明native方法后,使用`javah`命令生成C/C++的头文件,这个头文件定义了Java方法的C/C++接口。 - **本地方法库**:编写C/C++代码实现头文件中的方法,编译为动态链接库(Windows上...

    jni.rar_JNI编程_java jni_jni_site:www.pudn.com

    - 编译本地代码:将C/C++源文件编译成动态链接库(如.dll或.so文件)。 - 加载本地库:在Java代码中使用`System.loadLibrary`加载本地库。 - 调用本地方法:Java代码可以调用之前声明的native方法,实际执行的是...

    JNI学习笔记

    需要注意的是,该头文件中包含的jni.h路径需要正确指向,否则编译时会出现找不到jni.h文件的错误。若遇到此问题,可能需要将jni.h从JAVAHOME/include目录拷贝到C++项目的相应目录中,并且修改头文件中包含jni.h的...

Global site tag (gtag.js) - Google Analytics