electron 编译 sqlite3避坑指南(尾部链接有已经编译成功的sqlite3)

sqlite很好用,不需要安装,使用electron开发桌面程序,sqlite自然是存储数据的不二之选,奈何编译出错,并且出现各种问题。也见识到了各种各样的错误。现在就把成功的方法告诉你们,并且附一些错误的贴图或者错误码。

首先编译这个东西,需要准备的东西,以及下载的地址:

python2.7

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

vs2015,(必须是2015版本,2017根本不行)

下载地址:(微软的官网,以及没有这个链接了)

社区版(个人免费):
http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464C/vs2015.com_chs.iso

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

提前预警:这个步骤耗时比较长。。。。。

下来运行这些命令

使用cnpm妥妥的。

cnpm install sqlite3 --save

cnpm install node-gyp -g

cnpm install nan --save

cnpm install electron-rebuild --save

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

cd .\node_module\sqlite3

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

cnpm install -g windows-build-tools
查看electron版本,使用命令 electron --version
本例中electron版本为3.0.0,所以target=3.0.0
以及使用如下命令
node-gyp rebuild --target=3.0.0 --arch=x64 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v3.0-win32-x64

  此时可以在\sqlite3\lib\binding下,多了一个electron-v3.0-win32-x64文件夹,此文件下,就是electron所需的sqlite文件。(这一步时间也可能比较长,需要多试几次,耐心等待。出现错误,看提示信息)

下面贴上一些错误图,并且给出一些解决方方式

加载超时,充重试一次。

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

---------------------------------2018.11.02分割线----------------------------------------------------------------------------------------------------------------------------------------------------------------------

在网上看到找这方面的资料挺多的,然后也有人在网上私信我编译出来的64位的东西,打包成electron 32的位的有问题,会出错。我在这边尝试了一下,果然是出错的,所以,又得重新编译一次,适合electron 32 位的sqlite3
按照命令
node-gyp rebuild --target=3.0.0 --arch=x86 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v3.0-win32-x86  //不成功

发现按照此命令。不能够成功编译

错误截图如下

思前想后,肯定是

--arch=x86,这边出了问题,网上有很多,介绍x64,x86_64,以及x86_ia32,ia32的知识,自己试着重新编译,将--arch=x86改成--arch=ia32,问题成功解决,,地下就是编译32位sqlite的完美代码
node-gyp rebuild --target=3.0.0 --arch=ia32 --target_platform=win32 --dist-url=https://atom.io/download/electron/ --module_name=node_sqlite3 --module_path=../lib/binding/electron-v3.0-win32-ia32

虽然说了这么多,现在还是把编译好的东西,分享给大家,自己的环境如下:

"electron": "^3.0.5",
"sqlite3": "^4.0.3"

下载地址:GitHub   希望给个Star ☆☆☆

使用说明:将编译好的包,放到  项目名称\node_modules\sqlite3\lib\binding

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

若按照这个编译,还出问题,可以在博客园中及时联系我也可以在该文章下留言 ,以待文章更加完善。

electron 编译 sqlite3避坑指南---尾部链接有已经编译成功的sqlite3的更多相关文章

  1. Harmony OS 开发避坑指南——源码下载和编译

    Harmony OS 开发避坑指南--源码下载和编译 本文介绍了如何下载鸿蒙系统源码,如何一次性配置可以编译三个目标平台(Hi3516,Hi3518和Hi3861)的编译环境,以及如何将源码编译为三个 ...

  2. CEF避坑指南(一)——下载并编译第一个示例

    CEF即Chromium Embedded Framework,Chrome浏览器嵌入式框架.它提供了接口供程序员们把Chrome放到自己的程序中.许多大型公司,如网易.腾讯都开始使用CEF进行前端开 ...

  3. 今天 1024,为了不 996,Lombok 用起来以及避坑指南

    Lombok简介.使用.工作原理.优缺点 Lombok 项目是一个 Java 库,它会自动插入编辑器和构建工具中,Lombok 提供了一组有用的注解,用来消除 Java 类中的大量样板代码. 目录 L ...

  4. Linux下Python3.6的安装及避坑指南

    Python3的安装 1.安装依赖环境 Python3在安装的过程中可能会用到各种依赖库,所以在正式安装Python3之前,需要将这些依赖库先行安装好. yum -y install zlib-dev ...

  5. Canal v1.1.4版本避坑指南

    前提 在忍耐了很久之后,忍不住爆发了,在掘金发了条沸点(下班时发的): 这是一个令人悲伤的故事,这条情感爆发的沸点好像被屏蔽了,另外小水渠(Canal意为水道.管道)上线一段时间,不出坑的时候风平浪静 ...

  6. Hive改表结构的两个坑|避坑指南

    Hive在大数据中可能是数据工程师使用的最多的组件,常见的数据仓库一般都是基于Hive搭建的,在使用Hive时候,遇到了两个奇怪的现象,今天给大家聊一下,以后遇到此类问题知道如何避坑! 坑一:改变字段 ...

  7. Android连接远程数据库的避坑指南

    Android连接远程数据库的避坑指南 今天用Android Studio连接数据库时候,写了个测试连接的按钮,然后连接的时候报错了,报错信息: 2021-09-07 22:45:20.433 705 ...

  8. spring-boot-starter-thymeleaf 避坑指南

    第一步:pom配置环境 先不要管包是做什么的 总之必须要有 否则进坑 <!--避坑包--> <dependency> <groupId>net.sourceforg ...

  9. Windows环境下Anaconda安装TensorFlow的避坑指南

    最近群里聊天时经常会提到DL的东西,也有群友在学习mxnet,但听说坑比较多.为了赶上潮流顺便避坑,我果断选择了TensorFlow,然而谁知一上来就掉坑里了…… 我根据网上的安装教程,默认安装了最新 ...

随机推荐

  1. mysql中的case when 与if else

    大神说:在sql中,能用if else  就不用case  when 下面来看看,具体为什么,没有搞清楚,如果有大神知道的提供下资料: Mysql的if既可以作为表达式用,也可在存储过程中作为流程控制 ...

  2. 题解【bzoj1010 [HNOI2008]玩具装箱TOY】

    斜率优化动态规划可以用来解决这道题.同时这也是一道经典的斜率优化基础题. 分析:明显是动态规划.令\(dp[i]\)为前\(i\)个装箱的最小花费. 转移方程如下: \[dp[i]=\min\limi ...

  3. Makefile的简单使用

    led.bin: led.o arm-linux-ld -Ttext 0x0 -o led.elf $^ arm-linux-objcopy -O binary led.elf led.bin arm ...

  4. 【Tools】Windows下Github的配置和使用

    1.在网址:http://windows.github.com/下载git软件,具体的安装步骤可以参见:Windows 系统下Git安装图解 2.同样根据上面的教程生成SSH key: 3.将publ ...

  5. UVA 1210 Sum of Consecutive Prime Numbers

    https://vjudge.net/problem/UVA-1210 统计质数前缀和,枚举左右端点,这一段的区间和+1 #include<cstdio> #define N 10001 ...

  6. Linux 文件编码问题及iconv命令

    iconv命令是运行于linux/unix平台的文件编码装换工具.当我们在linux/unix系统shell查看文本文件时,常常会发现文件的中文是乱码的,这是由于文本文件的编码与当前操作系统设置的编码 ...

  7. 【BZOJ】1697: [Usaco2007 Feb]Cow Sorting牛排序

    [算法]数学置换 [题意]给定n个数,要求通过若干次交换两个数的操作得到排序后的状态,每次交换代价为两数之和,求最小代价. [题解] 考虑置换的定义:置换就是把n个数做一个全排列. 从原数组到排序数组 ...

  8. 【洛谷 P3194】 [HNOI2008]水平可见直线 (单调栈)

    题目链接 把线段以斜率为第一关键字,截距为第二关键字升序排序. 然后维护一个单调栈,保证栈中两两线段的交点的\(x\)坐标单调上升就行了.栈中的线段即为所求. #include <cstdio& ...

  9. css优先级机制

    所谓CSS优先级,即是指CSS样式在浏览器中被解析的先后顺序.   1.important >(内联样式)Inline style  >(内部样式)Internal style sheet ...

  10. D题 hdu 1412 {A} + {B}

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1412 {A} + {B} Time Limit: 10000/5000 MS (Java/Others ...