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工程的头文件的文件夹里,而是复制到工程目录下,然后在右击项目名,添加--现有项,将工程下的那个文件添加进去
其余参考: