由于公司项目需要用海康的sdk开发库。把在初始化链接海康sdk库文件的报错问题总结如下
1操作系统,JDK,SDK库版本最好一致。不然很悲剧,请参考博文
主机 | dll | jdk | 可行 |
32位 | 32位 | 32位 | 1 |
32位 | 64位 | 32位 | 0 |
64位 | 32位 | 32位 | 1 |
64位 | 64位 | 32位 | 0 |
64位 | 32位 | 64位 | 0 |
64位 | 64位 | 64位 | 1 |
关于JNA调用32位和64位动态链接库,即*.dll
https://blog.csdn.net/u014095729/article/details/50546319
结论:dll可否调用与jdk位数有关,需要一致才行。
2海康64位库文件后缀.dll必须加上不然报错:
64位系统加64位jdk加.dll库后缀,注意:jna64位必须加库文件后缀.
3库路径最好用绝对路径。路径格式必须为算斜杠
库路径D:/eclipse-x86-64-1704/workspace/Hktest/lib/HCNetSDK.dll这样的形式也报错
加载的库路径必须这种写法不然也报错D:\\eclipse-x86-64-1704\\workspace\\Hktest\\lib\\HCNetSDK.dll
海康加载库文件报错如下形式
java.lang.UnsatisfiedLinkError: Unable to load library