关于jna调用dll报错的问题

Exception in thread "AWT-EventQueue-0" java.lang.Error: java.lang.reflect.InvocationTargetException
Caused by: java.lang.UnsatisfiedLinkError: Error looking up function 'NET_DVR_SetupAlarmChan_V41': ÕҲ»µ½ָ¶¨µ
应该是报的没有找到对应函数,但是dll确实已经加载到了。求大神解释下什么鬼。

0

1个回答

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于jna调用dll的问题
如果别人提供的函数如下:rn接口功能 从内存中获取一个人员的注册信息rn功能详细说明 从内存中读回一个人员的注册信息,在使用该接口函数前要先使用ReadAllUserID()函数从设备将人员的注册信息读至内部存储器。rn函数声明 boolean GetAllUserID (rn long dwMachineNumber,rn long* dwEnrollNumber,rn long* dwEMachineNumber,rn long* dwBackupNumber,rn long* dwMachinePrivilege,rn long* dwEnablern );rnrnlong*是一个指针类型吗?long*说明是说这几个带long*的都是返回值。rn那么函数是那样,long*哪里传值的时候怎么写,然后怎么取的返回值?rnc/c++的long类型对应java也是long类型么?
JNA调用dll问题
HV_API HRESULT__cdecl SearchHVDeviceCount(rnDWORD32 *pdwCountrn)rn功能描述: 搜索局域网内所有的视频处理设备,返回设备数目rn参数说明: pdwCount 此参数值为实际搜索到的视频处理系统的数目rn返回值: S_OK 成功rnE_FAIL 失败rnrn我需要在JNA中调用上述C++写的dll中的函数,我不明白的是为什么这个地方的函数是实际搜索到的视频处理系统的数目,这个参数怎么跟返回值一个意思呢?这个参数怎么可能传得进去?
jna 调用dll问题
在java中通过jna调用c++ dll 然后有个接口需传一个结构体,结构体里面放的是char数组,c++传回的值 京000000 这样一个char[],在java取的时候出问题了。转不了想要的结果
JNA调用DLL问题!
我使用JNA调用DLL,加载DLL都没有问题,测试后问题是出在DLL中方法参数中,有高人碰见和解决过这个问题吗,如果有求教!
关于java jna 调用dll
一个.net的哥们给个dll让掉呢, 把我给气傻比了,掉其他测试的demo dll,一掉一个通 然后这个就是不通,我一看还有命名空间呢 然后九,下载vs,用它的.net demo调用 然后也是通的, 然后搜索才发现,是把c#的dll 打成 c++ 的dll axb    ,气死我了 然后自己就下载vs,然后就一路next,然后 就用java, jna  掉通的那一瞬间,我就妈娘了...
tomcat用jna调用dll报错
在eclipse运行main程序可以,但是在页面调用就报错。各个路径都放了了dll文件rn报错信息:rn严重: Servlet.service() for servlet [springMvcDispatcherServlet] in context with path [/caitu] threw exception [Handler processing failed; nested exception is java.lang.UnsatisfiedLinkError: Unable to load library 'C:\Windows\System32\TSCLIB.dll':
关于JNA调用DLL结构体二维数组的问题
直接上示例代码,问题细节在代码中描述。rn具体的C++源码不得而知,Java接口中的结构体如下:rn[code=java]rnpublic static class SDK_DATA extends Structure rn public int a;rn public int b;rn public byte[][] c= new byte[10][10];rn;rn[/code]rnrn调用代码如下:rn[code=java]rnSDK.SDK_DATA sd = new SDK.SDK_DATA();rnsd.write();//执行到这一步的时候报空指针错误rnsd.getPointer();rn[/code]rn搜索了很多资料,都没有对这个问题的解释,并且在资料中得知C++的结构体中是可以有二维数组存在的。rn求大神指导,是否不能这样实例化?rn若有别的方法该如何获取这个结构体的指针?
JNA调用DLL出现的问题
在MyEclipse8.5版本中建立了一个java工程,里面写一个测试程序来调用DLL。用System.loadLibrary("WsnDevice");导入DLL时出现了Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\Documents and Settings\Administrator\Workspaces\MyEclipse 8.5\test\WsnDevice.dll: 由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。不知道如何解决?
Jna调用dll实例
jna调用dll实例,包含jna.jar包,有详细的调用过程注释,包括调用时的中文乱码处理。本实例还提供了32位和64位的dll试用文件。
JNA调用DLL
JNA调用动态链接库 1.JNA描述        JNA(Java Native Access )提供一组Java工具类用于在运行期动态访问系统本地库(native library:如Window的dll)而不需要编写任何Native/JNI代码。开发人员只要在一个java接口中描述目标native library的函数与结构,JNA将自动实现Java接口到native func
JNA调用本地dll
一,JNA的定义 JNA(Java Native Access)是一个开源的Java框架,是Sun公司推出的一个调用本地动态库的文件中方法的技术,是建立在经典的JNI基础上的一个框架。 优点:1,基本上在java环境就可以完成操作。           2,不需要重写动态库中的方法(jni需要为每个方法写一个jni方法),直接调用API。 缺点:1,有少许性能损失,但是总体
jna调用dll
jna调用dll。使用vs生成dll,而后将dll文件保存到java指定文件。注意jkd与dll是否对应。
JNA调用dll动态库
-
JNA 调用Dll实例
工作需要,调用别人写的Dll来实现一些功能,去网上找了一些资料,发现都无法实现,会报错,找不到dll或者无法loadDll,调查修改后,实现了一个小demo,记录下来(本人记性不好。。。。) 先来使用VS2010写了一个简单的C++代码: #include <windows.h> #include <iostream> using std::cin; using s...
jna调用dll接口
首先导入jar包和动态库   import com.sun.jna.Native; import com.sun.jna.win32.StdCallLibrary; public interface DllInterface extends StdCallLibrary{ DllInterface instance = (DllInterface) Native.loadLibra...
JNA java调用dll
java 调用dll 最简单的方式,完全不用开发c++代码,简单易用。
DLL调用(3):Java JNA调用DLL
Java调用C++的DLL方式很多,其中JNA方式是比较通用的一种。JNA(Java Native Access )提供一组Java工具类,可实现运行期动态访问系统本地库(native library)而不需要编写任何Native/JNI代码。程序需要在java接口中描述目标native library的函数与结构,JNA即可自动实现Java接口到native function的映射。
关于大家用习惯了的jna调用dll
2018-7-31 02点21分 记录笔记,以免以后再碰到相同情况忘记。 当java 使用 jna 调用 C++ dll的时候 记得在C++接口中 将接口对方开放 并且extern “C” 这句话的作用是保证 jna调用dll的时候 能找得到相应方法。 测试C++的dll动态库是否是可以调用的 可以使用VS自带的dumpbin.exe 工具 命令:dumpbin -ex...
最简单的JNA调用DLL
http://blog.csdn.net/ezhchai/article/details/78785549对应代码资源 解压密码:ezhchai JNA调用DLL最简单示例。
Java调用dll的JNA参考手册
This document is the API specification for the JNA library for simplified native library access for Java.
JNA调用DLL函数.rar
JNA调用DLL函数.rar 用VC6写了一个加减功能的动态库,供JAVA调用
JNA调用C实现的DLL
(此处以C写的DLL为例子) 第一部分:简单了解DLL里的函数1、创建一个动态链接库项目testJNA 2、在头文件里声明函数 IRIS_SDK_API int STDCALL ik_release_enroll_device (IK_ENROLL_DEVICE_HANDLE dev_handle);3、在源码里实现函数 int STDCALL ik_re...
JNA调用C编写的DLL
我们团队目前开发的产品是用java语言编写的,大家都知道,java编写的代码随便都可以被反编译,导致别人可能会看到你“裸奔”的样子。所以,为了避免这种安全隐患,团队最终商定,将部分核心代码改用c语言编写,封装为dll,再由java调用。 于是乎,我们就开始jna初探。今天通过各种百度,终于做了个例子出来,在此做个记录,以备后路之需。 1、构造一个dll 由于本机的vs2015没有安装c++模...
使用jna调用dll方法
我使用64位系统,jre也是64位的,使用jna调用dll中的方法操作都没问题,文件也都放到system32目录下,但是就是读不到dll文件是什么原因public interface sms extends Libraryrn sms instanceDll = (sms)Native.loadLibrary("sms",sms.class); rn public int Sms_Connection(int Com_Port,int Com_BaudRate,String Mobile_Type);rn public int Sms_Send(String Sms_TelNum, String Sms_Text);rnrnrn int isopen= sms.instanceDll.Sms_Connection(2, 9600, Mobile_Type);
java jna 调用dll例子
java 调用大华 SDK Dll 实现视频播放的例子
JNA调用DLL一点小结
JNA调用DLL一点小结 声明:发表在其他博客的原创文章,会陆续转过来。   前段时间碰到一客户需要在JAVA语言中调用C++编写的DLL,感觉操作很不方便。于是上网搜索,搜到了JNA的调用,主要文章好像是:http://blog.csdn.net/shendl/archive/2008/12/23/3589676.aspx 其他的文章很多都是雷同的,于是自己也在尝试了一下
JAVA利用JNA调用DLL
JAVA 利用JNA调用C程序32位或者64位dll 实例,直接解压运行。
JNA调用DLL简单示例
JNA调用DLL简单示例,应该很容易看的懂的。
JNA方式调用dll动态库
java调用dll较为常用的方式有JNA和JNI,JNA方式较为简便。 附代码:
Java JNA (一)—— 调用dll
Java调用C++动态链接库的方式很多,有jnative,jna等。这里介绍如何通过jna的方式调用动态链接库。 调用代码很简单,就是需要注意几个问题。  补充:如dll内部访问配置文件,需将配置文件放置到jre路径下,在其他路径下访问不到 如有更好的解决方案请在回复里及时指正,谢谢 1、动态链接库编译时选择的平台。如果通过x86平台编译,那么只能使用32位jdk环境加载,如果要使用64位...
使用JNA(Java)调用C++ dll 的问题
无关代码略去rn当C++程序是这样时,Java中输出了testrn[img=https://img-bbs.csdn.net/upload/201409/30/1412048399_567469.png][/img]rn[img=https://img-bbs.csdn.net/upload/201409/30/1412048411_48832.png][/img]rnrn当C++程序中把注释去掉,Java中却连test都不输出了!rn[img=https://img-bbs.csdn.net/upload/201409/30/1412048417_836405.png][/img]rn[img=https://img-bbs.csdn.net/upload/201409/30/1412048424_596216.png][/img]rnrn这个问题可能是由什么因素引起的?完全没有头绪
使用JNA调用DLL函数遇到的问题
在项目中需要使用JAVA调用DLL函数,搞了几天终于搞通了,赶紧把理解的重要内容记录下来。 使用DLL函数查看器进行查看函数名称及各参数 本例子就拿GetMac函数进行举例,记事本中为在VB环境中调用此函数的函数声明 此函数只有一个参数,通过传入字符串类型的IP地址,可以得到对应IP地址的MAC地址 因为传入参数为Long整形,故猜测应该传入的类型为指针类型,在JNA中对应
请教:jna调用dll参数传递问题
请教,通过java jna调用dll动态库,类型问题,在写卡的时候,提示参数错误rn想了解下c++和java的类型的对应关系,如下的参数都为入参rn[code=c][code=c]extern "C" __declspec(dllexport) int __stdcall Write(__int16 com,int b, __int16 type,__int16 op,char * no,int vol,__int16 count,int ij1,int ij2,int ij3,int ij4,int ij5,int ijtl1,int ijtl2,int ijtl3,int ijtl4,char *jgrq,char *jgzqrq,__int16 ijgzqcd,__int16 ijgver,int ijg1y,int ijg2y,int ijg3y,int ijg4y,int ijg5y,int ijtql1y,int ijtql2y,int ijtql3y,int ijtql4y,char *jgrqy,char *jgzqrqy,__int16 ijgzqcdy,__int16 ijgvery,__int16 bjlbz,__int16 bjl1,__int16 bjl2)[/code][/code]rnrnjava 代码rn[code=java]int Write(int com, int b, int type, int op, String no, int vol, int count,rn int ij1, int ij2, int ij3, int ij4, int ij5,rn int ijtl1, int ijtl2, int ijtl3, int ijtl4,rn String jgrq, String jgzqrq,rn int ijgzqcd, int ijgver,rn int ijg1y, int ijg2y, int ijg3y, int ijg4y, int ijg5y,rn int ijtql1y, int ijtql2y, int ijtql3y, int ijtql4y,rn String jgrqy, String jgzqrqy,rn int ijgzqcdy, int ijgvery, int bjlbz, int bjl1, int bjl2);[/code]
JNA调用dll的问题,希望大家能帮帮忙
#include "Stdafx.h"rn#include "NetSupportAPI.h"rn/**rn * 打开清单工程文件rn * @param [in] filePath 文件路径rn * @return 返回工程文件对象地址rn */rnint __stdcall BillAPI_OpenProjectFile(PCTSTR filePath)rnrnreturn 10086;rnrnrn这上面是写好的C++代码,已经生成了BwBillNetSupport.dll文件,现在要在JAVA中调用这个文件,在控制台输出10086即可,应该如何实现呢,用JNA实现么,如果用JNA实现,具体如何实现,最好能贴上实现代码,还有这个BwBillNetSupport.dll应该放在工程哪里?大家帮个忙
大神帮忙解决下jna调用dll问题
函数说明[img=https://img-bbs.csdn.net/upload/201805/28/1527499120_405040.png][/img][img=https://img-bbs.csdn.net/upload/201805/28/1527499135_412878.png][/img]
JNA 调用dll时的参数问题
HV_API HV_HANDLE __cdecl OpenHv( const PSTR pcIP );rnHV_API HRESULT __cdecl SearchHVDeviceCount( DWORD32 *pdwCount );rnrn请问上述两个C++中的函数在被JNA调用时,JNA对应的参数应该是什么?
jna 调用本地DLL返回值的问题
DLL 中现有函数:rnint WINAPI OmrS(LPSTR aaa);rnint WINAPI OmrG(LPSTR bbb);rnrn我在JAVA这样定义rnpublic interface UserLibInterface extends Library rn//这句是利用Native.loadLibrary加载所要访问的动态链接库rn UserLibInterface INSTANCE = (UserLibInterface)Native.loadLibrary("MOmrCom", UserLibInterface.class);//, DEFAULT_OPTIONS); rn int OmrS(String aaa); //发送指令rn int OmrG(String bbb); //接受返回值rnrnrn//接受返回值rnString dd="";rnOmrG(dd); rnrn但接受不到返回值(返回值一定有)。我尝试过其它方式,也不行rn是不是我这样的写法不行??? 或怎样写才正确。
调用dll报错的问题
1、dll封装部分rnlibrary FrontYanYin;rnusesrn ShareMem,rn SysUtils,rn Classes,rn Forms,rn uAppDcr in 'uAppDcr.pas',rn uMVC_API in 'uMVC_API.pas',rn Unit1 in 'Unit1.pas' Form1,rn Unit_Drv in 'Unit_Drv.pas',rn UnitPublicFun in 'UnitPublicFun.pas',rn UnitYYHX in 'UnitYYHX.pas',rn XmlHelper in 'XmlHelper.pas';rnrn$R *.resrnrnprocedure OpenForm;stdcall;export;rnbeginrn Form1 := TForm1.Create(Application);rn Form1.ShowModal;rnend;rnrnexportsrn OpenForm;rnrnbeginrnend.rnrn2、调用部分rnunit Unit1;rnrninterfacernrnusesrn ShareMem,Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,rn Dialogs, StdCtrls;rnrntypern TForm1 = class(TForm)rn Button1: TButton;rn procedure Button1Click(Sender: TObject);rn privatern Private declarations rn publicrn Public declarations rn end;rnrnvarrn Form1: TForm1;rn hint : Cardinal;rn procedure OpenForm();stdcall;rnrnimplementationrnrnprocedure OpenForm();stdcall;External'FrontYanYin.dll';rnrn$R *.dfmrnrnprocedure TForm1.Button1Click(Sender: TObject);rnbeginrn OpenForm();rnend;rnrnend.rnrn3、报错rnrn运行的时候一切正常。rn加上ShareMem,关闭调用函数的时候报错invalid pointer operation;rn不加ShareMem,关闭时候报内存地址错误。rnrn
JNA调用动态链接库的问题
最近需要用java调用一个用delphi写的动态链接库,在网上查了下 使用JNA可以调用,rnrn但调用函数中参数为结构体内嵌套一个结构体,这样的参数在java中该如何表示?rnrn需要传入LPRParam这个结构体rnrn[code=Delphi(Pascal)]rnLPRPlateModel = Recordrn plateType: Integer;rn plateCharType: array [0..LPR_MAX_NUM_CHAR-1] of Integer; rnend;rnrn// LPR参数rn LPRParam = Recordrn size: Integer;rn nMaxPlate: Integer;rn nMinPlateWidth: Integer;rn nMaxPlateWidth: Integer;rn plateModel: LPRPlateModel;rnend;rn[/code]rn在线求教大牛
关于C#调用VC Dll报错的问题
今天调用同事VC写的Dll,这个Dll在Delphi上正常使用.rn而我使用C#调用时报错 "System.DllNotFoundException 无法加载DLL 异常来自 0x8007007E" rn调用方法:"[DllImport("HJ_USB.dll", CharSet = CharSet.Auto)]"rnrn然后我在百度和谷歌上搜索该错误后,尝试了一些方法,"绝对路径","相对路径","接入点"等都还是无法使用rnrn现在我怀疑是这个动态库的问题. 请问大大们有遇到过类似的情况吗? 会是什么情况导致的呢?rn或者C#有没有什么方法能够正常使用这个DLL呢? rnrn感恩rnrn
相关热词 c# 线程顺序 c#昨天当前时间 c# 多进程 锁 c#mysql图片存取 c# ocx 委托事件 c# 读取类的属性和值 c# out 使用限制 c#获取url的id c#怎么进行分页查询 c# update 集合