我正在使用质子本机构建应用程序。 它使用用C ++编写的本机模块,例如keytar。
Proton-native使用名为 launchui 的工具将nodejs应用程序打包为可执行文件。在Windows上,它基本上是nodejs的简单包装器,具有以下结构:
- myapp.exe
- node.dll
- app/
- - main.js
- - node_modules/
- - - - keytar/
默认情况下,本机模块(节点附加组件)不适用于此类构造,因为node-gyp工具将它们链接到node.exe。 通常的方法是运行类似于electronic-rebuild的方法,该方法会将本机模块编译为electronicjs合并的节点版本。
但是,如果没有launchui,还没有工具。
能够熟练使用node-gyp或C ++链接的人解释什么是正确地重新构建启动模块的最佳方法是谁?在运行电子重建并尝试运行该应用程序后,我不断收到The specified procedure could not be found
。
我已经使用dependencywalker分析了keytar.node当前的依赖关系,它显示它依赖于node.exe,但是它应该依赖于node.dll。