刚开始学习jni生成dll,并用java调用,遇到了一些问题:
Java 用VS2010+MyEclipse调试jni教程请参考:
http://liuxp0827.blog.51cto.com/5013343/1362081/
http://blog.csdn.net/luoww1/article/details/40894159
问题一:LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
去找下面这两个文件:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\cvtres.exe
C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cvtres.exe
对比两个版本信息,把老版本删掉,但是有可能你的电脑没有第二项,那就去VS2010的安装目录中找或看看C:\Program Files(86)目录里有没有。
问题二:Can't load IA 32-bit .dll on a AMD 64-bit platform
这是由于你的版本是Windows 64位,而你用VS生成的DDL是32位。因此只需要编译生成一个64位的DDL动态链接库就行。(也可以将你的jdk换成32位的)
在你的项目下,点击生成->配置管理器
选择平台->新建->64位
注意:要使用realse版本,不要使用debug版本,使用debug版本就会出现 java.lang.UnsatisfiedLinkError。
然后在MyEclipse的项目中导入这个新生成的64位dll即可