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. springMVC文件上传的三种方法

    这时:commonsmultipartresolver 的源码,可以研究一下 http://www.verysource.com/code/2337329_1/commonsmultipartreso ...

  2. VC使用sqlite

    SQLite可以到官方站点(http://www.sqlite.org/download.html)下载:Linux,Mac OS X, Windows下的已编译文件以及源代码.帮助文档. SQLit ...

  3. Mac 访问隐藏文件方法! 网上方法在我电脑上都不可用!

    百度的方法: 如果你想打开整个系统的隐藏文件可以在终端下输入以下命令 defaults write com.apple.finder AppleShowAllFiles -bool true 关闭显示 ...

  4. c# MD5盐值加密

    using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptograph ...

  5. [LeetCode] 8. String to Integer (atoi) ☆

    Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. ...

  6. 数据结构:Treap

    关于重量平衡树的相关概念可以参考姊妹文章:重量平衡树之替罪羊树 Treap是依靠旋转来维护平衡的重量平衡树中最为好写的一中,因为它的旋转不是LL就是RR 对于每一个新的节点,它给这个节点分配了一个随机 ...

  7. 「6月雅礼集训 2017 Day5」学外语

    [题目大意] 给出$\{P_i\}$,求经过以下操作后能够得到的不同序列个数: 第一步,选择$i, j$,交换$P_i,P_j$:第二步,把所有$P_x=i$的$P_x$变为$j$,把所有$P_x=j ...

  8. 【BZOJ】1577: [Usaco2009 Feb]庙会捷运Fair Shuttle

    [题意]公车从1开到n,有k群牛想从一个点到达另一个点,公车最多乘坐c个人,牛群可以拆散,问最多载多少牛到达目的地. [算法]贪心+堆 [题解]线段和点的贪心,一般有按左端点排序和按右端点排序两种方法 ...

  9. c语言目录操作总结

    =================================================== char *getcwd( char *buffer, int maxlen ); (获取当前目 ...

  10. SpringCloud Fegin超时重试源码

    springCloud中最重要的就是微服务之间的调用,因为网络延迟或者调用超时会直接导致程序异常,因此超时的配置及处理就至关重要. 在开发过程中被调用的微服务打断点发现会又多次重试的情况,测试环境有的 ...