注意 electron 的 Error: A dynamic link library (DLL) initialization routine failed

把dll的load放在Electron中,就会报一个错:

Error: A dynamic link library (DLL) initialization routine failed

这显然就是dll没有加载成功,为什么在Node中已经试过没问题的方法会在Electron中出问题,我此刻内心是惶恐的,因为Electron是我们最终的javascript运行容器,如果这种加载外部库的方式不可用,那意味着之前的一些技术方案都要重来,怀着忐忑的心情,我搜了一下,好在有非常贴合的问题并有相当具体的问题解决方案:

因为electron和node.js用的V8版本不一致,所以直接使用npm安装的模块可能在electron中不可用,特别是使用c、c++开发的模块。

在下面“使用原生模块”部分中,竟然非常神奇的是中文的解决方案,我采用第二种“下载并重新编译模块”的解决方案。
npm install --save-dev electron-rebuild

每次运行"npm install"时,也运行这条命令

./node_modules/.bin/electron-rebuild

在windows下如果上述命令遇到了问题,尝试这个:

.\node_modules.bin\electron-rebuild.cmd

如此就成功在Electron中加载了dll库文件。

原文地址:https://www.cnblogs.com/juwan/p/12255659.html

时间: 2024-10-07 04:13:08

注意 electron 的 Error: A dynamic link library (DLL) initialization routine failed的相关文章

[DLL] Dynamic link library (dll) 的编写和使用教程

前一阵子,项目里需要导出一个DLL,但是导出之后输出一直不怎么对,改了半天才算改对...读了一些DLL教程,感觉之后要把现在的代码导出,应该还要花不少功夫...下面教程参照我读的3个教程写成,所以内容比较多: http://www.tutorialspoint.com/dll/index.htm http://www.tuicool.com/articles/ZVBnE3b http://www.cnblogs.com/cswuyg/archive/2011/10/06/DLL2.html 第三

Custom Action : dynamic link library

工具:VS2010, Installshield 2008 实现功能: 创建一个C++ win32 DLL的工程,MSI 工程需要调用这个DLL,并将MSI工程中的两个参数,传递给DLL, 参数1:Property 表中的 ProductName 参数2:操作 MSI 工程的 installer database 的 Handle 对参数1的操作:通过对话框的方式显示出来. 对参数2的操作:读取 Property 表中的 ProductName 属性,通过对话框的方式显示出来. 步骤一.VS20

动态链接库(Dynamic Link Library)学习笔记(附PE文件分析)

转载:http://www.cnblogs.com/yxin1322/archive/2008/03/08/donamiclinklibrary.html 作者:EricYou 转载请注明出处 注:本文所写的动态链接库指传统的DLL,并非是.NET中的Assembly. 我对动态链接和动态链接库的概念并不陌,但一直以来就停留在概念的层面上,没有更深入的了解.今天抽空看了一下有关动态链接和动态链接库的文章,有了一些新的认识,当然不能忘了写在这里.那么现在就开始... 什么是动态链接和动态链接库  

How to Creat DLL(Dynamic link library)

该文章属于在YouTube视频上看到的,链接如下: https://www.youtube.com/watch?v=EmDJsl7C9-k&t=3s 1.创建一个工程并建立一个控制台程序 2.Solution-->右键新建dll工程 3.Solution-->右键属性,选择依赖项,确定 4.CppClient-->右键设置属性$(SolutionDir)myLib\,inherit打勾,确定 5.VC++Directories-->Library Directories--

error: no curses/termcap library found

[[email protected] mysql-5.1.73]# ./configure checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for a BSD-compatible install..

zabbix3.x安装出现“configure: error: Not found mysqlclient library”的解决办法

如题所示,在CentOS6.x的系统中安装zabbix3.x,使用了以下的编译命令: ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 在编译时,可能会出现题目中所示的错误,可以通过安装mysql-devel这个库解决: [[email protected] za

ERROR: could not load library "D:/Program Files/PostgreSQL/9.3/lib/postgis-2.1.dll": Invalid access to memory location.

ERROR:  could not load library "D:/Program Files/PostgreSQL/9.3/lib/postgis-2.1.dll": Invalid access to memory location. 这个错误,参照:http://trac.osgeo.org/postgis/ticket/2476 原因可能是这个表跟postgis有关系,里面一个字段是使用函数产生的: 这里提示说,重启下服务,就奇迹般的没有这个问题了:.... ERROR: c

Error loading RS jni library: java.lang.UnsatisfiedLinkError 解决方案

我们可能会用到模糊效果,就会想到renderscript.jar , 但是模糊效果是3.0以后的效果,在有的4.x以上的手机上也会造成错误,Error loading RS jni library: java.lang.UnsatisfiedLinkError,会报出这样的错误,明显是手机上没有.so包. 错误图示 明显可以得出,没有.librsjni.so的包存在,那么要怎么处理呢,其实在sdk中已经提供了相应的.so库.我们只要找到即可,然后放入libs下即可 这样在任何机型上都不会报错了,

解决configure: error: Could not link against !

问题描述:在./configure时出现error: Could not link against ! 解决方法:来自 http://stackoverflow.com/questions/9132335/configure-error-could-not-link-against-boost-system对于64位机:./configure --with-boost-libdir=/usr/lib/x86_64-linux-gnu对于32位机:./configure --with-boost-