c/c++调用java 第一篇
来源:互联网 发布:大数据就业岗位环境 编辑:程序博客网 时间:2024/06/08 07:39
操作步骤
c这边:
1,配置环境
将使用的jni.h头文件,JVM.dll,JVM.lib都包进来
1,配置环境
将使用的jni.h头文件,JVM.dll,JVM.lib都包进来
包含需要的头文件和dll
包含需要的lib文件 (补充说明在PS)
2,可以编码了
1),创建JVM环境
2),寻找class对象,创建对象
3),调用静态方法和成员方法,非静态方法也可以。
4),用完之后记得将JVM环境销毁。
3,编译
编译的时候如果报错 无法解析的外部符号 __imp__JNI_CreateJavaVM@12
原因:1),lib文件没有链接对
2),编译环境和JVM环境不一致,比如编译平台为win32,但是JDK却是64位的。
我使用的是vs2010
1),创建JVM环境
2),寻找class对象,创建对象
3),调用静态方法和成员方法,非静态方法也可以。
4),用完之后记得将JVM环境销毁。
3,编译
编译的时候如果报错 无法解析的外部符号 __imp__JNI_CreateJavaVM@12
原因:1),lib文件没有链接对
2),编译环境和JVM环境不一致,比如编译平台为win32,但是JDK却是64位的。
我使用的是vs2010
4,运行
运行报错,在创建JVM环境时,一直返回错误码-3(JNI_ERRVERSION)。百思不得其解,最后发现原来在C:\Windows\System32路径下居然有一个jvm.dll,,,哎,好坑。。。。。。
在运行时可能优先加载这里的dll了,导致没有加载到正确的dll。
运行报错,在创建JVM环境时,一直返回错误码-3(JNI_ERRVERSION)。百思不得其解,最后发现原来在C:\Windows\System32路径下居然有一个jvm.dll,,,哎,好坑。。。。。。
在运行时可能优先加载这里的dll了,导致没有加载到正确的dll。
关于添加lib的PS注意事项:
设置项目依赖项的时候,把那一串路径用双引号包起来!!!
比如你这样设置C:\Program Files\XXX\lib\XXX.lib,表示你在项目中连接到这个XXX.lib,但是,在Program与File之间有一个空格,所以就解析成了C:\Program, 再所以,就出现 了:C:\Program.obj无法打开,所以你设置的时候写成这样"C:\Program Files\XXX\lib\XXX.lib", 用"" 引号,这个路径包起来就OK了
失败例子:
只是把Program Files包起来也不可以
比如 C:“\Program Files”\XXX\lib\XXX.lib 这样也一样是报错,找不到 C:Program.obj
比如你这样设置C:\Program Files\XXX\lib\XXX.lib,表示你在项目中连接到这个XXX.lib,但是,在Program与File之间有一个空格,所以就解析成了C:\Program, 再所以,就出现 了:C:\Program.obj无法打开,所以你设置的时候写成这样"C:\Program Files\XXX\lib\XXX.lib", 用"" 引号,这个路径包起来就OK了
失败例子:
只是把Program Files包起来也不可以
比如 C:“\Program Files”\XXX\lib\XXX.lib 这样也一样是报错,找不到 C:Program.obj
0 0
- c/c++调用java 第一篇
- Jni 使用总结第一篇:java调用c库
- C第一篇博客
- C总结的第一篇
- 第一篇C语言BLOG
- c 语言学习 第一篇
- C语言--第一篇导言
- c程序第一篇1
- 第十一篇:C代码调用Java代码之项目实战
- 《第一篇 从linux 0.11系统初始化main.c的fork()函数调用分析内核源码》
- 第一篇 C/C++ (1)
- 第一篇 C/C++ (2)
- 《彻底搞定C指针》第一篇
- C++Primer 读书笔记 第一篇 C++ 概述
- 彻底搞定C语言指针第一篇
- Lua 与C 交换 第一篇
- 七夕-我的第一篇C博客
- 《c与指针》读书笔记之第一篇
- 二十九、多态、静态绑定与动态绑定、虚函数、虚表指针、object slicing与虚函数、overload、override 、overwrite
- iOS开发--监测网络变化
- 几何变换详解
- 白话大数据——大数据算法:白话遗传算法
- Android中自定义属性的格式详解
- c/c++调用java 第一篇
- iOS开发相关网址
- onvif 上手(一)
- HDOJ 2063 过山车
- php基础教程——3cookie和session
- 修复/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory问题
- [ASP.NET-VI] 发布ASP.NET网站(Windows IIS + SQL Server 2008 + VS2008)
- Sencha touch 基础学习
- iOS开发之多媒体播放