java调用c语言实现的dll文件,以及dll文件位数不匹配的解决办法

项目结构

解决办法:

因为我的这个dll文件是自己生成的,所以只能重新生成一个64bit的dll

如果不清楚自己的g++版本的话可以看一下MINGW的文件夹,以及自己配置的环境变量

下面是我修改后的:【之前碰到一个坑,我用的下载程序下载mingw64里面没有bin文件(可能是网络的原因没有下好),后面换成了下载zip就成功了】

如果不清除字节dll文件的位数的话,还有 一个简单的方法:

使用notepad++打开文件,虽然是乱码 但是可以直接ctrl+f 搜索 PE 查看 

如果PE后面的是L就是32位的,如果是d的话就是64位的

 

结果演示:

 

参考

  • 64位mingw下载地址:建议选择zip格式下载

https://sourceforge.net/projects/mingw-w64/

  • 判断dll是64位还是32位的简单方法

https://blog.csdn.net/u012611644/article/details/83060983