使用jna调用第三方C++ dll,对方接口返回枚举类型,报错提示Invalid memory access,有偿,有偿

问题遇到的现象和发生背景

做一个读卡功能需要调用第三方提供的动态链接库,对C++不了解,使用jni比较困难,采用的jna去调用dll

问题相关代码,请勿粘贴截图

对方.h头文件显示返回值使用
enum ErrorCodeEnum
{
xx1=..
xx2=..
}

运行结果及报错内容

Exception in thread "main" java.lang.Error: Invalid memory access

我的解答思路和尝试过的方法

按度娘的解释也试过使用int、enum、Structure去接受返回值,一直没成功

我想要达到的结果

jna正常使用,或者能教育一下使用jni解决也可以。

已追

哎,又一个入了jni的坑,加我微信把,给你点之前的经验

这个需要调试一下具体什么问题,jni和c++应该没什么障碍的。

调了什么函数,你的代码怎么写的,都具体点放出来,这样别人才好帮你看问题

另外检查以下JDK跟DLL是否架构一致,例如JDK是否64位DLL是32位就运行不了,可以换一个JDK试试

用它的结果去接 Structure 因为存的是指针直接对上Java可能访问不上

https://www.cnblogs.com/lwx521/p/10552632.html 之前用jna的一些经验