JNA 调用dll %1 不是有效的win32应用程序。

Noah_Wei 2014-09-14 06:44:35
环境如下:
win7 64位
jdk 32 位

然后用32位的Matlab中的MCC工具将*.m文件转换为C的dll文件。
在java中开发调用时,报错:Exception in thread "main" java.lang.UnsatisfiedLinkError: %1 不是有效的 Win32 应用程序。
求大神帮忙!谢了~
...全文
8792 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lei911gang 2017-06-05
  • 打赏
  • 举报
回复
JDK是32的,系统是64的
lei911gang 2017-06-05
  • 打赏
  • 举报
回复
Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\MyWork\hsdqtransportsdkDemo\HSDQTransportDll.dll: %1 不是有效的 Win32 应用程序。 at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) at java.lang.Runtime.load0(Runtime.java:809) at java.lang.System.load(System.java:1086) at com.hs.transportsdk.main.TestDemo.<clinit>(TestDemo.java:9) 同样问题,请问楼主怎么解决的
cade 2016-11-04
  • 打赏
  • 举报
回复
http://www.th7.cn/Program/java/201607/907202.shtml dll可能是x86打的包,你调用时用的64位的JDK,用32位的JDK调用试试。
niuzhouhai 2015-11-14
  • 打赏
  • 举报
回复
我也是遇到同样的问题了,我用的是jdk7 64位版本,jna4. dll文件是用code::blocks生成的. 错误信息如下: Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: %1 不是有效的 Win32 应用程序。
a86734844 2015-10-21
  • 打赏
  • 举报
回复
遇到一样的问题了,没有人解决这个吗?
wearenihao 2014-11-19
  • 打赏
  • 举报
回复
我也遇到这个问题,怎么解决啦。。。谢谢
Noah_Wei 2014-09-16
  • 打赏
  • 举报
回复
没有大神了么?!求救啊....项目告急啊...
xingkonglv 2014-09-15
  • 打赏
  • 举报
回复
不知道你是不是在用最原始的JNI调用dll,UnsatisfiedLinkError的话,先看下自己的native方法定义是否正确,确保有对应的本地方法;没错的话把dll换成64bit的试试。话说你64bit的系统干嘛装32的jdk。
Noah_Wei 2014-09-15
  • 打赏
  • 举报
回复
引用 1 楼 xingkonglv 的回复:
不知道你是不是在用最原始的JNI调用dll,UnsatisfiedLinkError的话,先看下自己的native方法定义是否正确,确保有对应的本地方法;没错的话把dll换成64bit的试试。话说你64bit的系统干嘛装32的jdk。
先谢谢你的回答。 我用的是JNA,方法是能保证有的。 但是因为是给外面做工程,然后那边要求是32位的环境,我就把jdk什么都换成了32位的,但是懒得重装系统就还用的是64的系统。但是感觉应该没影响啊,我直接用VS编的dll文件就能成功调用,用Matlab的mcc工具转制过来的dll就有这问题。

51,396

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧