【问题标题】:Native C++ extension for electron.atom.ioelectron.atom.io 的原生 C++ 扩展
【发布时间】:2017-01-07 21:03:42
【问题描述】:

我想为电子构建一个 C++ 本机扩展。
我从 hello 示例开始:我构建了节点库、示例并使用节点 (v4.5.0) 成功测试。
到与电子一起使用我必须针对电子 V8 版本进行构建。我按照guide 构建节点库:我生成了 msvc VS2015 项目,但是在构建时出现此错误:

\cares.vcxproj(360,5): error MSB3073: The command "call ninja.exe -C ..\..\..\..\out\Debug_x64\ cares" exited with code 1.

所有项目都会发生这种情况。我该如何解决?

【问题讨论】:

  • 出于兴趣,您能否单独调用 ninja(并可能从中获得更好的错误信息)?
  • Ops,我的路径中没有忍者...我能够使用 vcbuild.bat 构建 node.lib (x64)。我在电子路径中包含了节点标头和库,但是当我运行时,我得到“错误:模块没有自注册”。我使用的是预构建的 x64 Electron 6.3.0,与我构建模块时使用的版本相同...

标签: c++ node.js electron


【解决方案1】:

你不需要从源代码构建 Electron 来构建原生 Node 模块,你应该遵循我给 over here 的相同建议。

【讨论】:

  • 好的,我按照提示进行操作。我能够在电子供应商文件夹中使用 vcbuild.bat 构建 node.lib (x64)。我能够使用 node-gyp 使 vcxproj 形成我的项目,但构建失败(找不到 node.lib)。我打开了 vcxproj,添加了 lib 路径并成功构建。现在我可以在电子渲染过程中使用我的原生 C++ 扩展了!
猜你喜欢
  • 1970-01-01
  • 2012-09-23
  • 2012-12-09
  • 2021-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
相关资源
最近更新 更多