WIN8_64+JNA+Eclipse,自己的DLL无法调用???在线等!!!

问题描述

Test32Dll.dll里面有一个add的方法,但每次测试时就报这个错:Exceptioninthread"main"java.lang.UnsatisfiedLinkError:%1不是有效的Win32应用程序。atcom.sun.jna.Native.open(NativeMethod)atcom.sun.jna.Native.open(Native.java:1759)atcom.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:260)atcom.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)atcom.sun.jna.Library$Handler.<init>(Library.java:147)atcom.sun.jna.Native.loadLibrary(Native.java:412)atcom.sun.jna.Native.loadLibrary(Native.java:391)atFuck$FuckTry.<clinit>(Fuck.java:9)atFuck.main(Fuck.java:14)

解决方案

解决方案二:
试过在WINXP32系统上测试可以,要抓狂了
解决方案三:
楼主的win8是64位系统,jdk是32位还是64位呢?dll是多少位的呢
解决方案四:
引用2楼magi1201的回复:

楼主的win8是64位系统,jdk是32位还是64位呢?dll是多少位的呢

WIN8是64位的,JDK1.6也是64位的,DLL不知道,二楼那个测试OK的,我是在WINXP32位系统上运行OK的,DLL文件是相同的,终于有人回复了,好开心呀
解决方案五:
引用3楼wood07的回复:

WIN8是64位的,JDK1.6也是64位的,DLL不知道,二楼那个测试OK的,我是在WINXP32位系统上运行OK的,DLL文件是相同的,终于有人回复了,好开心呀

对dll不懂。估计你的dll是32位的,之前帮朋友写过一个调用dll的代码,dll文件是32位的,然后在64位系统上调用,怎么也调用不起来后来改32位系统就好了,可能dll对系统位要求比较高吧,二楼时候给楼主了个链接,希望可以帮到楼主
解决方案六:
引用4楼magi1201的回复:

Quote: 引用3楼wood07的回复:
WIN8是64位的,JDK1.6也是64位的,DLL不知道,二楼那个测试OK的,我是在WINXP32位系统上运行OK的,DLL文件是相同的,终于有人回复了,好开心呀

对dll不懂。估计你的dll是32位的,之前帮朋友写过一个调用dll的代码,dll文件是32位的,然后在64位系统上调用,怎么也调用不起来后来改32位系统就好了,可能dll对系统位要求比较高吧,二楼时候给楼主了个链接,希望可以帮到楼主

我这边测试了,装X86的JDK1.7,在DOS环境下可以用,但搭配eclipse直接开不了,查了一下说是JDK版本错误,然后找人帮我出了一个64位的DLL.但还是会报一楼那个错,不是有效的WIN32程序
解决方案七:
引用4楼magi1201的回复:

Quote: 引用3楼wood07的回复:
WIN8是64位的,JDK1.6也是64位的,DLL不知道,二楼那个测试OK的,我是在WINXP32位系统上运行OK的,DLL文件是相同的,终于有人回复了,好开心呀

对dll不懂。估计你的dll是32位的,之前帮朋友写过一个调用dll的代码,dll文件是32位的,然后在64位系统上调用,怎么也调用不起来后来改32位系统就好了,可能dll对系统位要求比较高吧,二楼时候给楼主了个链接,希望可以帮到楼主

现在试成功了,JDK1.7_X86,JNA,Eclipse_32,
解决方案八:
引用6楼wood07的回复:

Quote: 引用4楼magi1201的回复:
Quote: 引用3楼wood07的回复:
WIN8是64位的,JDK1.6也是64位的,DLL不知道,二楼那个测试OK的,我是在WINXP32位系统上运行OK的,DLL文件是相同的,终于有人回复了,好开心呀

对dll不懂。估计你的dll是32位的,之前帮朋友写过一个调用dll的代码,dll文件是32位的,然后在64位系统上调用,怎么也调用不起来后来改32位系统就好了,可能dll对系统位要求比较高吧,二楼时候给楼主了个链接,希望可以帮到楼主

现在试成功了,JDK1.7_X86,JNA,Eclipse_32,

我遇到了跟你一样的问题。我的环境是Win7_x64+JDK_x86+Eclipse_x86,我的dll文件是通过Matlab的mcc工具将*.m文件转制过来的,然后通过JNA调用的时候也是报"%1不是有效的win32应用程序"。Matlab也是32位的。但是用VS编写的dll就不存在这个问题,可以直接调用。怎么破啊...
解决方案九:
还是推荐都用32bits的吧,足够了。
解决方案十:
该回复于2014-09-22 08:47:54被版主删除

时间: 2024-11-03 21:08:33

WIN8_64+JNA+Eclipse,自己的DLL无法调用???在线等!!!的相关文章

c++ 中制作 atl com 复合组件,能在c++的dll中调用吗

问题描述 c++ 中制作 atl com 复合组件,能在c++的dll中调用吗 我写了一个atl com的复合组件,里面就一个浏览器的控件拖上去而已,想在一个dll中调用这个com组件,然后就会启动一个浏览器窗口,但是我dll连到这个com组件的方法中的时候,这个浏览器窗口就是不会自动显示,请问如何让这个com组件展示?并且我希望能够操作这个浏览器去访问某个地址,请问我该如何去操纵这个浏览器控件? 解决方案 这么做很不安全,要考虑你的com对象的线程模型,如果是公寓线程,是不能调用webbrow

phpph exe文件-php 调用exe文件或dll怎么调用???

问题描述 php 调用exe文件或dll怎么调用??? 我想用php调用一个二维码的生成程序,首先实现用户登录,然后转跳到调用生成二维码的exe文件,无论用js或者exec函数都不能实现,求大神帮忙

c# dll-c#调用C++的DLL时调用失败

问题描述 c#调用C++的DLL时调用失败 本人C#小白.老大要求用C#调用C++的DLL.C++的我写出来了,可以调用成功.#include #include void main(){ HMODULE hModule = ::LoadLibrary(_T(""C:CT_InfoTerm.dll"")); typedef LONG (WINAPI pDLLProc)(intcharintintintchar*int); pDLLProc dllfunc; int i

c#-C# 调用c++ dll问题,在线等,急~~~

问题描述 C# 调用c++ dll问题,在线等,急~~~ 请教大神, C# 如何调用C++的dll. 试了N次没成功,dll可以调用成功,但是传入的参数一直提示错误,请教大神如何调用方法,参数如何传,本人小白,大神最好能给点例子!感激不尽~~~. 解决方案 调用不成功是说直接找不到dll里的函数,还是说函数调用完返回的结果是错误的? 解决方案二: 参考:https://msdn.microsoft.com/zh-cn/library/2x8kf7zx.aspx 解决方案三: 参数是否传正确了,应

c++-求助DLL如何调用OCX控件

问题描述 求助DLL如何调用OCX控件 本人菜鸟 使用VC++,想用静态链接的DLL去调用OCX控件,把OCX insert后生成OCX的.cpp 和.h文件 在MFC对话框下使用 m_test.Create("11",NULL,CRect(0,0,200,200),this,1001); 通过m_test.XX调用OCX没有问题 请问在DLL下,如何才能去create并成功调用,特别是m_test.Create("11",NULL,CRect(0,0,200,20

C#中能否调用CAB中的C开发的dll?怎么调用?

问题描述 C#中能否调用CAB中的C开发的dll?怎么调用?.求高手指点!!! 解决方案 解决方案二: 解决方案三:C中的方法为:publicvirtualstringgetVersion()是ICBC_NETSIGNLib.InfoSecICBCNetSignClass的成员.C#怎么调用?[DllImport("ICBC_NetSign_64.dll",EntryPoint="getVersion",CharSet=CharSet.Ansi,CallingCon

大哥大姐救救我吧,如何让webservices里引用的dll程序调用应用程序里的方法

问题描述 如何让webservices里引用的dll程序调用应用程序里的方法 解决方案 解决方案二:你直接引用了,实例化后就提示它里面的方法了啊解决方案三:实例化之后不久可以调用了,解决方案四:同意楼上解决方案五:ding解决方案六:ding解决方案七:实在不行就regsvr32注册下dll

请教大家,工作流引擎怎样来实现内核数据的持久化?我想用一个DLL来建立STEP队列,其它DLL文件调用它存取。

问题描述 我现在急着要做一个工作流引擎,想在一个专门DLL(A)模块中建立工作项队列并提供存取的接口函数,其它DLL模块调用这些函数,怎样才能使这个队列中的数据持久化,也就是一个DLL(B)模块调用DLL(A)写入数据后,DLL(C)这个模块能调用DLL(A),把刚刚写入的数据读出.如果有其它方法来实现,欢迎各位大虾赐教 解决方案 解决方案二:内存持久化就建一个Queue或者ArrayList,有这样的数据类型的,磁盘的话要数据库解决,另外微软已经做了一个WF引擎,学习一下微软的就可以了,不必自

dll lib-VBA调用外部自己编写的dll问题

问题描述 VBA调用外部自己编写的dll问题 当dll中处理的过程比较长,想让Excel VBa中显示处理进度要怎样做?先谢谢各位高手 解决方案 自己编写的dll的话,可以放一个回调函数,回调函数中更新进度条. 解决方案二: vba 调用 dlljava调用CC++编写的DLL文件问题loadrunner调用外部Dll