本文主要是介绍Dynamic Linking Error: Win32 error 126,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Electron应用在某些电脑上ffi/ffi-napi 报 Dynamic Linking Error:Win32 error 126 错误(这种情况我遇到两种类型)
类型一
相关报错截图
原因
这个错误的原因普遍是因为引用的 dll 路径问题,根据传递的路径找不到相应的文件。
解决方案
检查当前dllPath路径是否正确,修改即可。
类型二
开发的 Electron 程序在大多数电脑上都是正常使用,在国外客户的电脑上,ffi / ffi-napi 一直报 Dynamic Linking Error:Win32 error 126 的错误。
原因
国外电脑的 C++ 构建工具中缺失,导致电脑的某些环境未安装(感觉)
解决方案方案1
安装 Node.js
通过管理员权限,打开 CMD 或 PowerShell
执行 npm install --global --production windows-build-tools
解决方案方案2
注:后来发现是引用的路径造成的,打包之后找不到路径了
electron 打包时,需要将使用的 dll 文件移动到指定目录下,保证读取时dll路径正确,build 配置字段为 extraResources、extraFiles。
在使用 dll 时,获取绝对路径,根据开发环境和生产环境,获得不同的路径。通过在 process.env.PATH 环境变量上追加 dll 的绝对路径的文件目录(不包含dll名称),进行下一步。
引用 dll 时只使用 dll 名称,不通过路径引入。
获取 dll 后将环境变量的值进行恢复。
这篇关于Dynamic Linking Error: Win32 error 126的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!