【问题标题】:How to properly link native modules in an Electron app?如何正确链接电子应用程序中的本机模块?
【发布时间】:2018-06-23 11:57:09
【问题描述】:

我正在开发一个电子应用程序,我假装使用本机模块。我需要ffiref 作为我项目中的依赖项。我通过 npm 安装了这些库,并按照文档 Using Native Node Modules 中的建议使用 node-gyp rebuild 重建了模块。一切编译成功,但是当我尝试要求这些库时,我收到以下错误:

Uncaught Error: Could not locate the bindings file. Tried:
 → C:\Users\Utilizador\Documents\my_app\build\binding.node
 → C:\Users\Utilizador\Documents\my_app\build\Debug\binding.node
 → C:\Users\Utilizador\Documents\my_app\build\Release\binding.node
 → C:\Users\Utilizador\Documents\my_app\out\Debug\binding.node
 → C:\Users\Utilizador\Documents\my_app\Debug\binding.node
 → C:\Users\Utilizador\Documents\my_app\out\Release\binding.node
 → C:\Users\Utilizador\Documents\my_app\Release\binding.node
 → C:\Users\Utilizador\Documents\my_app\build\default\binding.node
 → C:\Users\Utilizador\Documents\my_app\compiled\6.5.0\win32\ia32\binding.node

奇怪的是搜索路径与库路径不对应,应该指向node_modules。我不知道是什么导致了这个问题。

任何帮助将不胜感激,在此先感谢您。

【问题讨论】:

    标签: node.js electron ffi ref


    【解决方案1】:

    要重建本机模块,使用electron-rebuild 会更好,这将确保它们是针对您正在使用的电子版本构建的。

    我们将 ffiref 与电子重建一起使用,这就是我们所需要的。

    【讨论】:

    • 感谢您的回复。确实,这就是所需要的。我有 64 位节点,显然还有 32 位电子,所以我正在为目标架构 x64 而不是 ia32 进行编译。
    猜你喜欢
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 2021-08-21
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多