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. Codeforces Round #343 (Div. 2) A

    A. Far Relative’s Birthday Cake time limit per test 1 second memory limit per test 256 megabytes inp ...

  2. Transformation 线段树好题 好题 (独立写出来对线段树不容易)

    Transformation Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 65535/65536 K (Java/Others)T ...

  3. Spark Streaming 的一些问题

    Spark Streaming 的一些问题,做选型前关注这些问题可以有效的降低使用风险. checkpoint checkpoint 是个很好的恢复机制.但是方案比较粗暴,直接通过序列化的机制写入到文 ...

  4. Chromedriver 的安装与配置

    首先是下载网址:https://sites.google.com/a/chromium.org/chromedriver/downloads(需要FQ,用Browser浏览器即可翻进,版本要和Chro ...

  5. 牛客多校第五场-D-inv

    链接:https://www.nowcoder.com/acm/contest/143/D来源:牛客网 题目描述 Kanade has an even number n and a permutati ...

  6. [洛谷P2597] [ZJOI2012]灾难

    洛谷题目链接:[ZJOI2012]灾难 题目描述 阿米巴是小强的好朋友. 阿米巴和小强在草原上捉蚂蚱.小强突然想,如果蚂蚱被他们捉灭绝了,那么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引 ...

  7. PHP 时间计算(距离现在多长时间)

    function format_date($time){ $t=time()-$time; $f=array( '31536000'=>'年', '2592000'=>'个月', '604 ...

  8. Redis 模糊匹配 SearchKeys

    语法:KEYS pattern说明:返回与指定模式相匹配的所用的keys.该命令所支持的匹配模式如下:(1)?:用于匹配单个字符.例如,h?llo可以匹配hello.hallo和hxllo等:(2)* ...

  9. AWK文本分析工具-常用场景(持续更新中)

    AWK help document:http://www.gnu.org/software/gawk/manual/gawk.html 问题 awk命令 备注 对请求IP统计分组排序?     显示列 ...

  10. js中的for in 循环

    1.数组 使用for in 遍历数组时,其索引被视为对象的属性,从而直接输出数组的索引 var arr = ["a","b","c"]; f ...