海康sd报错Structure.getFieldOrder() on class com.xxx.sdk.HCNetSDK$NET_DVR_DEVICEINFO_V30 does not provid

news/2024/11/25 18:01:56/

记一次linux部署海康sdk错误

报错内容如下

Caused by: 
java.lang.Error: 
Structure.getFieldOrder() on class com.xxx.sdk.HCNetSDK$NET_DVR_DEVICEINFO_V30 does not provide enough names [0] ([]) to match declared fields [31] ([byAlarmInPortNum, byAlarmOutPortNum, byAudioChanNum, byChanNum, byDVRType, byDiskNum, byHighDChanNum, byIPChanNum, byLanguageType, byMainProto, byMirrorChanNum, byMultiStreamProto, byRes2, byStartChan, byStartDChan, byStartDTalkChan, byStartVoiceInChanNo, bySubProto, bySupport, bySupport1, bySupport2, bySupport3, bySupport4, bySupport5, bySupport6, bySupport7, byVoiceInChanNum, byZeroChanNum, sSerialNumber, wDevType, wStartMirrorChanNo])

错误原因

这个问题是因为海康jna.jar比较老,结构体定义没有getFiledOrder,可创建一个类继承 Structure

解决方法

import com.sun.jna.Structure;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;public class HIKSDKStructure extends Structure {protected List<String> getFieldOrder(){List<String> fieldOrderList = new ArrayList<String>();for (Class<?> cls = getClass();!cls.equals(HIKSDKStructure.class);cls = cls.getSuperclass()) {Field[] fields = cls.getDeclaredFields();int modifiers;for (Field field : fields) {modifiers = field.getModifiers();if (Modifier.isStatic(modifiers) || !Modifier.isPublic(modifiers)) {continue;}fieldOrderList.add(field.getName());}}return fieldOrderList;}
}

错误二:
报错内容:

Error creating bean with name 'xxxImpl':
Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Invalid calling convention 63

可能错误原因:
海康sdk方法继承了StdCallLibrary.StdCallCallback,它是win32系统使用的

解决方法:
StdCallLibrary.StdCallCallback改成Library, Callback

参考文章


http://www.ppmy.cn/news/520101.html

相关文章

荣耀v40pro和荣耀v30pro参数对比 哪个更值得入手

荣耀V40Pro&#xff1a;采用了一块6.57三星AMOLED屏幕&#xff0c;支持着90Hz的高刷&#xff0c;绝对是可以给用户一种流畅的画面感。 荣耀手机爆降600这活动太给力了 机会不容错过 https://www.huawei.com 荣耀v30pro&#xff1a;6.57英寸的TFT屏幕有着2400x1080像素的分辨率同…

浅谈2020年第一拆 荣耀V30 pro 5G手机拆机表现

虽然不是很懂国产手机的硬件配置&#xff0c;但是国产芯片迅速发展&#xff0c;这点我也是有所耳闻的。我对国产元器件发展速度很好奇&#xff0c;如果大家也有这样的疑问&#xff0c;可以一起来看看这篇帖子。今天看到微博博主二手数码郎中5G手机拆机视频&#xff0c;内心还是…

lgv30刷android10,记一次LG V30系列手机完美刷入MIUI12系统和Flyme刷机教程

作为1款高通835神机&#xff0c;虽然国内活跃不如小米6&#xff0c;但用户还是非常多的&#xff0c;自然刷机的用户 也自然不少&#xff0c;下面ROM乐园小编就简单记录下如果把我们的LG V30刷入MIUI或者Flyme系 统&#xff0c;支持LGV30多个型号&#xff0c;如果你是H932&#…

荣耀v30鸿蒙5g荣耀有隔空操作吗,荣耀V30 Pro用了十天,这些功能让人眼前一亮

随着5G正式的商用&#xff0c;三大运营商相继推出5G套餐且2020年一月起工信部将不允许单模NSA手机入网等一系列政策的出台&#xff0c;让本来就毫无声息却硝烟四起手机厂商又开始着手下一轮的竞争。也因SA才将是5G最终发展的方向&#xff0c;这无疑让各手机厂商都争先恐后的率先…

lgv50怎么进入fastboot模式_LG V30/V30+解锁BL+刷入TWRP_Recovery中文版-获取ROOT权限卡刷教程...

由于LG V30/V30+机型有点特殊,刷机比较麻烦,请认真教程刷机才可以,对于新手 来说,请必须认真看教程,不然可能刷入失败,本教程支持V30机型,从解锁BL+刷 入第三方recovery+ROOT系统全套教学,过程偏多,分成三个不同阶段教大家,本教 程ROM乐园发布,转载或搬运注明出处 刷…

v30pro支持鸿蒙,荣耀V30Pro:没赶上鸿蒙系统,但还能再战!

荣耀30S参数 今年年初的时候&#xff0c;有位朋友购买了荣耀V30Pro&#xff0c;尽管笔者给其推荐了许多性价比机型&#xff0c;但朋友却称自己之前使用的荣耀V10非常给力&#xff0c;使用好几年都有着不错的流畅度。 而且身边还有5G网络&#xff0c;所以在选择新机的时候&#…

荣耀v30pro鸿蒙5g,荣耀V30Pro“5G标杆,不止于快”

大家好&#xff0c;我是梦龙君。 本期内容是 荣耀V30Pro 的总结篇&#xff0c;篇幅关系不会做过多的解释和展开。如想了解体验细节&#xff0c;请按链接跳转至之前的文章查看。 少废话&#xff0c;看结论&#xff1a; 标杆产品&#xff0c;暂时无敌 1、外形设计&#xff1a; 优…

荣耀v30升级鸿蒙后充电特效,什么?荣耀V30 PRO的双超级快充还能这么玩?

原标题&#xff1a;什么&#xff1f;荣耀V30 PRO的双超级快充还能这么玩&#xff1f; 提到荣耀V30 PRO&#xff0c;你会想到什么&#xff1f; 麒麟990 5G SoC 5G双模全国通、突破性相机矩阵…… 别忘了&#xff0c;它还有一个很重要的功能&#xff1a; 双超级快充 作为荣耀首款…