新手调用jni的辛酸

win8.1、vc++6.0、vs2013、eclipse、命令行


首先我按JNI的百度百科例子实现java调用jni点击打开链接,在操作到第六步(运行程序,java HelloWorld)时,出现错误:hello.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform,然而百度上说是vc++6.0不支持生成64位的dll,所以我改用vs2013生成,于是参考用Visual Studio2013 express生成64位dll  ,在最后执行java HelloWorld时又报错:hello.dll: Can't find dependent libraries 百度上大多数是说被依赖的库没有被找到,于是我下载dll依赖项查看工具看是哪些没被加载,发现并没有其他需要依赖的库,最后比对各种vs生成dll的方法(如JAVA中利用JNI与VS2012实现C/C++的DLL调用),发现其中一点不同的是vs生成dll的项目的配置是Release而不是Debug,于是我改成Release后,最后执行java HelloWorld成功


其中还遇到问题:不能将头文件直接复制到vs工程的头文件的文件夹里,而是复制到工程目录下,然后在右击项目名,添加--现有项,将工程下的那个文件添加进去

其余参考:

java用jni调用 dll动态库Can't find dependent libraries错误的解决

使用 Jni 调用 Dll 的实现(使用VS2008 生成Dll)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值