万冰 2024-12-27 15:39 采纳率: 0%
浏览 244
已结题

electron koffi 调用DLL类型问题?

调取当前DLL时返回

onClick.js:42 Error: Cannot load 'Intel 386+' DLL in 'AMD x64' process
    at obj.load (D:\Electron\Memo01\node_modules\koffi\index.js:480:27)
    at btn.onclick (onClick.js:38:27)

img

当前这种格式的DLL应该如何调取呢?

koffi是否支持这种DLL调取?

  • 写回答

35条回答 默认 最新

  • 阿里嘎多学长 2024-12-27 15:41
    关注
    获得0.15元问题酬金

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    electron koffi 调用DLL类型问题?

    你遇到了 Electron 中调用 DLL 类型的问题,错误信息提示无法在 AMD x64 进程中加载 Intel 386+ DLL。

    解决方案:

    1. 检查 DLL 的架构是否与 Electron 进程架构相匹配。Electron 是使用 AMD x64 架构的,因此需要使用 AMD x64 架构的 DLL。
    2. 如果 DLL 是 Intel 386+ 架构,可以尝试使用 node-ffi 库来调用 DLL。node-ffi 库可以将 DLL 的调用转换为 Node.js 可以理解的格式。
    3. 如果你使用的是 electron-ffi 库,可以尝试使用 electron-ffi 库的 load 方法来加载 DLL,例如:
    const { load } = require('electron-ffi');
    
    load('path/to/dll', (err, module) => {
      if (err) {
        console.error(err);
      } else {
        // 使用 module
      }
    });
    
    1. 如果以上方法都不能解决问题,可以尝试使用 node-gyp 库来重新编译 DLL,以适应 Electron 进程的架构。

    希望这些解决方案能够帮助你解决问题。如果你需要更多帮助,请提供更多的信息。

    评论

报告相同问题?

问题事件

  • 系统已结题 1月4日
  • 赞助了问题酬金15元 12月27日
  • 创建了问题 12月27日