最近做的java项目涉及到对接led屏,踩了很多的坑,下面下几个困扰了比较多时间的问题

第一个问题:加载不到类库

java.lang.UnsatisfiedLinkError: Unable to load library

这个我遇到了两种情况,一种是我的路径没写对,建议大家写全路径,我是放在dll包下的,这是我的写法

String m_strUserPath = System.getProperty("user.dir");
DllLibrary instance= (DllLibrary) Native.loadLibrary(m_strUserPath + "\\dll\\EQ2008_Dll",DllLibrary.class);

如果写了全路径还是不对,那就可能是你的java位数跟你加载的dll位数不对了,先查看下自己的java位数

我的是64位,接着看一下加载的dll位数,用文本的方式打开你的dll文件,我们会看到一堆的乱码,不要急,注意看第二行,找到

PE 看PE后面的是 d 还是L,如果是L那么就是32位的,这样的话你的64位的jna是加载不到的,而如果是d,就是64位的,例如

这个就是64位的,而下面的就是32位的:

网上你如果直接搜EQ2008_Dll.dll 的话,很难找到64位的,我也是找了好久没找到,最后跑去诣阔官网才找到,要去下载他的

  异步单双色二次开发包,里面有,附上地址:http://www.eqled.com/html/2710592429.html

下载完找到这里

里面放的就是64位的dll,下面的x86是32位的,大家根据自己的情况放到项目里面。

第二个问题:输出字符串到led屏,中文乱码,数字字母正常显示

出现这个问题是因为你的jna调用动态库的时候,没有给他一个编码,所以出现了编码错误,在你调用动态库的地方给jna调用设置下编码就行了:

System.setProperty("jna.encoding", "GBK");

好了,祝你顺利,觉得有用的给点个赞哈,有不对的地方请指正

EQ一卡通踩过的坑,解决加载不到动态库,输出数据到led屏乱码问题相关推荐

  1. 如何让linux加载当前目录的动态库

    debian从7.0开始支持multiarch,64位库的路径改到/usr/lib/x86_64-linux-gnu了,mint.ubuntu这些衍生版有没有跟着改我就不清楚了. deepin lin ...

  2. [Linux] 如何让linux加载当前目录的动态库

    linux的excutable在执行的时候缺省是先搜索/lib和/usr/lib这两个目录,然后按照ld.so.conf里面的配置搜索绝对路径,linux缺省是不会在当前目录搜索动态库的.window ...

  3. 解决无法使用pip命令加载Python的扩展库问题

    解决无法使用pip命令加载Python的扩展库问题 参考文章: (1)解决无法使用pip命令加载Python的扩展库问题 (2)https://www.cnblogs.com/duanxueyuan/ ...

  4. [转]Android有效解决加载大图片时内存溢出的问题

    http://hi.baidu.com/%D6%C7%B4%EF%B8%DF%D4%B6lee/blog/item/7bd659af3f40dc1d4b36d68d.html 尽量不要使用setIma ...

  5. iview 按需引入解决加载慢的问题

    iview 按需引入解决加载慢的问题 参考文章: (1)iview 按需引入解决加载慢的问题 (2)https://www.cnblogs.com/ToBeBest/p/9645126.html 备忘 ...

  6. android 在自定义的listview(有刷新加载项)列表中,数据过少时不能铺满整个屏幕时,header和footer同时显示问题...

    android  在自定义的listview(有刷新加载项)列表中,数据过少时,当刷新时,加载项也会显示,这是很头疼的一个问题,查阅了一些资料,总结了一个比较不错的方法: 原来代码: 1 @Overr ...

  7. html加载less,javascript – 动态加载less.js规则

    我正在看使用 less. js(看起来不错),但我们的网站要求在初始页面加载后,动态加载一些样式.但是,似乎所有的LESS样式表都必须在less.js脚本加载之前加载.即这样做 但是如果行被交换,则它 ...

  8. 【清单】值得「等待」的12个指示加载状态的 js 库

    以下优选 GitHub 上高 star 的指示加载状态的 JavaScript 库.另外这里还有10个有意思的 JavaScript 实战小项目供大家学习. 上期入口:一份数据分析学习清单.xls M ...

  9. VC静态加载DLL和动态加载DLL

    VC静态加载DLL和动态加载DLL 1. 静态加载DLL 如果你有a.dll和a.lib,两个文件都有的话可以用静态加载的方式: message函数的声明你应该知道吧,把它的声明和下面的语句写到一个头 ...

  10. 第5章【思考与练习2】将数据集划分为训练集与测试集,查看决策树分类器的性能。 将例5-3中的分类器保存到文件中,然后重新加载预测给出的新数据。

    P101思考与练习2 1.将数据集划分为训练集与测试集,查看决策树分类器的性能. #1. #划分为测试集与训练集 import pandas as pd data = pd.read_csv('dat ...

最新文章

  1. C++类中封装线程函数
  2. c/c++程序员的技术栈
  3. 为什么说Swift正在颠覆整个互联网生态?
  4. VMware如何进入安全模式
  5. 今日头条加密参数的识别
  6. css3 设置多列布局
  7. C# 通过ImportNode AppendChild方法合并XmlDocument,XML转为DataTable
  8. QML 圆角进度条实现 圆角剪切
  9. I2S协议-一篇文章带你了解
  10. 华为路由器PPP与MP-PPP的配置实例
  11. usr目录linux,linux系统/usr目录的意义与内容
  12. Think On Paper
  13. 为什么大数据工程师比Java程序员工资高50%?
  14. 华为5500v3多路径linux6,使用Linux自带多路径multipath
  15. parameter缩略语_WB 术语及缩略语表
  16. nand flash基础——读写擦操作
  17. 1008: 美元和人民币
  18. 医美企业如何玩转私域流量?
  19. 华为网络工程师项目模拟
  20. vue使用siwper走马灯

热门文章

  1. 论文解读:Structural Optimization Makes Graph Classification Simpler and Better
  2. 中职计算机组装与维修知识点,中职计算机组装与维修的教学分析与对策
  3. 武汉大学计算机学院徐霜,物联网工程专业建设与实践教学研究_余琍
  4. MAD、AMV、MMD 的区别
  5. HAA2018A_音频功放规格书_V1.2
  6. github 迁移google code 项目
  7. 蜂鸣器驱动电路中二极管的作用
  8. 【软件工程】-可行性研究报告
  9. 景格虚拟教具混合动力汽车动力系统虚拟结构原理展示台复制狗
  10. LOL云顶弈记牌易语言源码