zoukankan      html  css  js  c++  java
  • Electron——常见动态链错误

    前言

    记录一下常见的动态连错误;

    内容

    Uncaught Error: Dynamic Linking Error: Win32 error 126

    • DLL引用的路径错误,检查下DLL的路径是否正确
    // 正确示例
    let DllA = path.resolve(__dirname, '../../../xxx/xxxx.dll')
    
    // 生产环境
    if (process.env.NODE_ENV !== 'development') {
      DllA = path.resolve(__dirname, '../../../../xxx/xxx' + arch + '.dll')
      DllB = path.resolve(__dirname, '../../../../xxx/xxxx.dll')
    }
    

    Uncaught Error: Dynamic Linking Error: Win32 error 193

    • DLL位数不对,根据系统来确定使用x86还是x64,可通过os进行判断引入相应的DLL
    // 正确示例
    const arch = os.arch() === 'x64' ? 'x64' : 'x86'
    let DllA = path.resolve(__dirname, '../../../xxx/xxx' + arch + '.dll')
    if (process.env.NODE_ENV !== 'development') {
      DllA = path.resolve(__dirname, '../../../../xxx/xxx' + arch + '.dll')
    }
    

    Uncaught Error: Dynamic Linking Error: Win32 error 127

    • DLL没有对应的函数或函数定义错误,可以使用函数查看器进行查看
    • DLL错误,比如系统的一些DLL可以直接进行引用或者还需要引用其他的DLL文件(如: 引入A,但是A需要引入B)
      函数查看器下载地址
    // 正确示例
    const User32 = ffi.Library('user32.dll', {
      GetTopWindow: ['long', ['long']],
      GetWindowThreadProcessId: ['int', ['long', 'int']],
      GetForegroundWindow: ['long', []],
      IsHungAppWindow: ['bool', ['long']]
    })
    
    学无止境,谦卑而行.
  • 相关阅读:
    03继承与多态 动手动脑
    data whitening
    特征值和特征向量
    CRC算法
    python 二维字典
    协方差的计算与理解
    Differences between write through and write back
    Differences between page and segment
    虚拟内存和缓存区别
    Python: 统计一个文件中每个单词出现的次数
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/15393699.html
Copyright © 2011-2022 走看看