记录winax、ffi-napi安装成功记录
环境配置
node -v
v16.20.2 **(Currently using 32-bit executable)**
电脑配置
操作系统名称 Microsoft Windows 11 专业版
版本 10.0.22621 版本 22621
系统类型 基于 x64 的电脑
.npmrc
msvs_version=2022
msbuild_path=C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe
registry=https://registry.npmjs.org/
python=C:\Python27\python.exe
使用的electron模板
切记:使用成熟的模板,不推荐自己手动搭建
electron-vite/electron-vite-vue: 🥳 Really simple Electron + Vite + Vue boilerplate. (github.com)
下载全局依赖
这里我是用的是PowerShell以管理员模式安装,后续依赖也可以直接在PowerShell中安装
首先安装node-gyp
npm i node-gyp -g
node高版本windows-build-tools已经集成,不需要安装
修改electron版本号为<21,因为高于这个版本v8会有内存隔离,导致dll无法动态加载
- 首先修改electron版本号为20.x,可以先删除electron依赖,使用npm i 安装成功后再使用npm i electron@20
- 确保npm run dev能成功运行
- npm i winax
- 如遇到安装错误可以删除.npmrc中的所有环境变量并重新安装winax
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
在Windows环境变量中添加python2.7.15的路径
🔔🔔🔔我这里下载安装的是32位的Python,因为dll是32位的
安装完winax后接着下一步 npm i ffi-napi
这里不推荐一次性安装两个插件,会出现很多问题,如果package中有两个插件,可以删除,一个个安装
两个插件安装完成后在项目根目录下使用如下命令进行C++模块重新build
.\node_modules\.bin\electron-rebuild.cmd
如遇到无命令可用可以安装npm i electron-rebuild -D后重新执行即可
看下如下信息既表示模块重新构建成功
如遇到构建失败可尝试重新安装node-gyp
Error: Dynamic Linking Error: Win32 error 126
检查自己的dll路径是否正确,如不确定可使用全路径例如`D:\\code\\electron\\lib\\mydll.dll`测试使用
使用
@TODO:待补充
免注入动态调用dll
@TODO:待补充
32位打包使用
@TODO:待补充