electron 编译 sqlite3指南

一、准备

sqlite很好用,使用electron开发桌面程序,sqlite编译最容易出错

编译sqlite需要提前准备的东西,以及下载的地址:

python2.7

下载地址:https://www.python.org/downloads/

安装完配置环境变量 ,环境变量配置可自行配置

vs2015,(2015、2017都可以)

下载地址:(微软的官网,https://visualstudio.microsoft.com/zh-hans/downloads/)

安装完之后,一定要安装vs2015所需的C++开发环境,这点很重要,因为要是没有这个东西,会报错,缺少v140的工具集,之所以没有选择vs2017,是由于vs201没有v140的工具集,具体sqlite为什么只能使用v140的工具集这点没有去查证。很多nodejs使用的c++包都需要

下载完安装部分所需的单个组件,如:

二、在工程的package.json中scripts命令添加

"postinstall": "electron-builder install-app-deps"

解释:

"postinstall"是npm的一个钩子,它会在你执行npm install安装完成后执行,”install-app-deps”是electron的命令,会利用”electron-builder”重新构建绑定了当下sqlite3版本的electron

三、运行这些命令

npm install sqlite3 --save

npm install node-gyp -g

npm install electron-rebuild --save

.\node_modules\.bin\electron-rebuild.cmd

cd .\node_module\sqlite3

编译完成之后,会在项目的node_modules\sqlite3\lib\binding\electron-v3.1-win32-x64\node_sqlite3.node文件

下来使用管理员模式打开cmd,运行下面命令

npm install -g windows-build-tools
查看electron版本,使用命令 electron --version
本例中electron版本为3.1.1,所以target=3.1.1
以及使用如下命令

node-gyp rebuild --target=3.1.1 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v3.1-win32-x64

此时可以在\sqlite3\lib\binding下,多了一个electron-v3.1-win32-x64文件夹,此文件下,就是electron所需的sqlite文件。

若是发现某个文件没有找到之类,需要,肯定是vs2015工具集问题,必须使用v140的工具集,若是需要下载windows sdk,在网络搜下载即可。

编译出来的64位的东西,打包成electron 32的位的有问题,,原因是--arch=x86,这边出了问题,网上有很多,介绍x64,x86_64,以及x86_ia32,ia32的知识,自己试着重新编译,将--arch=x86改成--arch=ia32,问题成功解决

node-gyp rebuild --target=3.1.1 --arch=ia32 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v3.1-win32-ia32

下面是编译好的sqlite3对应的electron-v3.1-win32-ia32和electron-v3.1-win32-x64版本

 https://github.com/cxywwl1226/node_sqlite3

交流

共同进阶学习

    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值