注意 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庫文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM