请教 electron 调用 dll 报错的问题

查看 26|回复 0
作者:ameizing   
需求背景是用 electron 写个 app ,调用硬件厂家提供的 dll 和硬件通信。
一开始用 ffi-napi 加载 dll ,排除路径参数和 dll 架构位数问题后,总是报一个 native callback xxx 的错误,
查了一下得知是 electron 在 20.3.8 之后开启了一个什么内存上的限制导致,可以降级 electron 版本,
或者使用别人 fork 修改过的 ffi-napi 以及 koffi 来避免。
看到 ffi-napi 很久没更新了,就没降级 electron ,改用 koffi 加载厂家给的测试 dll ,其中只有一个 sum 函数,
成功调用。但是后续给过来硬件相关的 dll ,就总是加载失败,koffi 提示“Failed to load shared library:找不到指定的模块”,换成 fork 版本的 ffi-napi (也能正常调用 sum dll )则提示 win32 error 126 。
google 一下说是 dll 有缺失的依赖,教我用 dependency walker 看缺了什么。看了一下缺了 QT5CORE ,QT5NETWORK 这些,厂家开发说他们是用 qt5 编译的 dll ,并把缺的这些 dll 发给了我,放到了调用 dll 的同级目录下,结果还是报错。
和一个朋友讨论的时候,他用 python 的 ctypes.CDLL 就加载成功了,在 electron 里面总是不行。
有没有熟悉这方面的大佬说下解决问题的思路方向是什么,愿意付费咨询
您需要登录后才可以回帖 登录 | 立即注册

返回顶部