如何编译electron依赖的c++模块

今天在写electron的项目时,需要使用到robotjs。而robotjs是c++编写的库,所以需要在不同的平台进行重新编译。期间遇到了许多问题,mark一下。问题来源所有代码最终是要转换为操作系统相关代码,才能在指定的OS上运行。像java,python这类代码是需要对应平台的vm环境,转成平台相关代码才能够执行。而c++并没有这样的vm环境,因此对于node的c++模块,需要先编译成平台相关的代码,才能执行。方案这里我采用的方式是node-gyp进行编译整体方案如下所示,利用nod
摘要由CSDN通过智能技术生成

今天在写electron的项目时,需要使用到robotjs。

而robotjs是c++编写的库,所以需要在不同的平台进行重新编译。

期间遇到了许多问题,mark一下。


问题来源

所有代码最终是要转换为操作系统相关代码,才能在指定的OS上运行。

像java,python这类代码是需要对应平台的vm环境,转成平台相关代码才能够执行。

而c++并没有这样的vm环境,因此对于node的c++模块,需要先编译成平台相关的代码,才能执行。

方案

这里我采用的方式是node-gyp进行编译

整体方案如下所示,利用node-gyp,调用系统编译工具将源码编译成二进制文件。

之后node就可以调用对应的二进制文件,调用模块方法。

在这里插入图片描述

准备依赖

对于node的c++module,编译需要有设备安装有指定的编译工具集

例如robotjs在官网的推荐编译工具集如下:

在这里插入图片描述

此外还需要使用下面命令安装node-gyp ,

npm instal
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值