electron之坑addon
dll 错误
Error: A dynamic link library (DLL) initialization routine failed
依赖的dll未放入目录也会导致模块加载失败
Error: The specified module could not be found.
node.exe 未延迟加载
需要配置下面俩项
#ifdef _MSC_VER#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif#include <windows.h>
#include <delayimp.h>
#include <string.h>static FARPROC WINAPI load_exe_hook(unsigned int event, DelayLoadInfo *info) {HMODULE m;if (event != dliNotePreLoadLibrary)return NULL;if (_stricmp(info->szDll, "NODE.EXE") != 0)return NULL;m = GetModuleHandle(NULL);return (FARPROC)m;
}decltype(__pfnDliNotifyHook2) __pfnDliNotifyHook2 = load_exe_hook;#endif
node.lib 同函数名依赖顺序问题
查看node.lib导出函数,主要有
uv
openssl
v8
zlib
dumpbin /LINKERMEMBER node.lib >nodelib.txt
修改node.lib为最后依赖
node gyp找不到vs
2017版本后依赖powershell脚本
$ExecutionContext.SessionState.LanguageMode
看看是不是为 FullLanguage
__PSLockdownPolicy 系统环境变量 为 1,如果为4为 ConstrainedLanguage。
另外说明我设置 npm config set msvs_version 2019
无效
二进制文件坑
git 默认换行符自动转换,导致二进制文件失效
关闭转换
git config --global core.autocrlf false
依赖非n-api库比如openssl,uv
文档
cd /path-to-module/
HOME=~/.electron-gyp node-gyp rebuild --target=1.2.3 --arch=x64 --dist-url=https://electronjs.org/headers
只使用 #include <node_api.h>
保证跨版本兼容性
electron之坑addon相关推荐
- electron 入坑记
最近有个想法,想写个简单的应用程序.平时在 Mac上开发,最终有可能运行在 Windows 上.看了一下,Electron 比较简单,应该可以一试. 关于安装 我机器上是有 Node 环境的,按着官方 ...
- error launching app electron踩坑
{ "devDependencies": { "electron": "^22.0.0" }, "main":" ...
- 使用napi node_使用Napi / node-addon-api和Cmake的独立于Node.js版本的C ++ Native Addon
使用napi node This is a tutorial for c++ Node-addon-api / Napi addon using cmake.Napi makes it indepen ...
- Electron学习笔记(五) 通过Addon(n-api)实现可扩展接口
Electron学习笔记(四) Electron使用的API接口 一方面electron给开发者提供了不少API, 另一方面, 也可以使用node.js的API. 但是, 有时候开发者还是想用自己实现 ...
- electron开发windows驱动程序
electron开发windows驱动程序 最近公司需要开发一个windows下的白名单的软件,由于之前有过web方面的开发经验,就想pc端是不是也可以是不是也可以将web程序打包成跨平台的安装包.然 ...
- electron-vue打包成Mac版本
elelctron-vue官方网址:https://simulatedgreg.gitbooks.io/electron-vue/content/cn/ 一.场景: electron-vue是实用vu ...
- Electron Built-in AutoUpdater 踩坑记录
Electron Built-in AutoUpdater 因为之前做的 electron 应用开发使用的是 electron-packager 来对应用进行打包,根据官方文档的介绍,推荐使用内置的 ...
- 送你一份用Electron开发桌面应用的避坑指南【送3本书,含犀牛书】
大家好,我是若川.持续组织了5个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,新年第一次送3本书.抽奖规则见文末. 如今,Electron 领域发生了重大的变革,Electro ...
- 入坑 Electron 开发跨平台桌面应用
作为一个跨平台的桌面应用开发框架,Electron 的迷人之处在于,它是建立在 Chromium 和 Node.js 之上的 -- 二位分工明确,一个负责界面,一个负责背后的逻辑,典型的「你负责貌 ...
最新文章
- 为什么程序员都不喜欢使用 switch ,而是大量的 if……else if ?
- SuperMap注册流程记录
- spring-boot注解详解(三)
- java代理模式_Java代理
- 第5篇:Flowable快速工作流脚手架Jsite_请假实战_部署流程和发起流程
- Linux之ssh-agent命令
- 初始化对于类与接口的异同点深入解析
- matlab实现图像的左右翻转
- php游戏充值平台源码,PHP平台源码下载-PHP第四方支付平台源码pc端下载
- android小米手机变慢,手机越来越慢怎么破?小米手机七大加速绝招
- uni-app 微信小程序 getuserinfo 获取用户信息 拼音转中文
- 大话GraphQL新手上车
- php程序员拜年代码,2018程序员拜年的奇思妙想,涨姿势了
- <二> objectARX开发:创建和编辑基本图形对象
- PhotoShop CC 2017软件工具面板使用---移动工具
- 【JoJo的摄影笔记】百年尼康——相机之殇
- .podspec 依赖问题处理
- Oracle查看硬解析
- 使用过程中蓝牙驱动突然消失
- 关于c51如何使用左移_crol_、右移_cror_函数
热门文章
- Home键和返回键的区别
- Excel怎么快速提取出网址
- oidc_使用OIDC和Ionic for JHipster保护您的移动应用程序
- 多线程导出excel高并发_用多线程优化Excel表格数据导入校验的接口
- 安卓华为魅族等手机含有副账号登陆问题
- FastQC安装以及试用
- html如何引入iconfont官网图标
- (译)Xposed模块开发教程
- android+imei+为null,适合Android7.0以上(到9.0)系统,获取 关于手机--状态信息 (如:MAC,IMEI,IMSI,ICCID)...
- Linux系统服务简述和作用