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. STL之二:vector容器用法详解

    转载于:http://blog.csdn.net/longshengguoji/article/details/8507394 vector类称作向量类,它实现了动态数组,用于元素数量变化的对象数组. ...

  2. Uva-oj Palindromes 暴力

     Palindromes Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Statu ...

  3. 使用tcpdump监控网络消息发送

    tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具. tcpd ...

  4. 使用 Rational AppScan 保证 Web 应用的安全性,第 2 部分: 使用 Rational AppScan 应对 Web 应用攻击

    1 当前 Web 安全现状 互联网的发展历史也可以说是攻击与防护不断交织发展的过程.目前,全球因特网用户已达 13.5 亿,用户利用网络进行购物.银行转账支付和各种软件下载,企业用户更是依赖于互联网构 ...

  5. python---aiohttp的使用

    1.aiohttp的简单使用(配合asyncio模块) import asyncio,aiohttp async def fetch_async(url): print(url) async with ...

  6. jsp05 指令与动作

    JSP7个动作指令如下 : jsp:forward: 执行页面转向,将请求的处理转发到下一个页面. jsp:param: 用于传递参数,必须与其他支持参数曲标签一起使用. jsp:include: 用 ...

  7. 发福利喽稀疏FFT

    附介绍: 四位来自麻省理工学院的研究人员蒂娜·卡塔比(Dina Katabi).海塞姆·哈桑(Haitham Hassanieh).比欧特·因迪克(Piotr Indyk)和埃里克·普里斯(Eric ...

  8. Python 关于拷贝(copy)汇总(列表拷贝 // 字典拷贝 // 自定义对象拷贝)

    1.列表拷贝 引用是指保存的值为对象的地址.在 Python 语言中,一个变量保存的值除了基本类型保存的是值外,其它都是引用,因此对于它们的使用就需要小心一些.下面举个例子: 问题描述:已知一个列表, ...

  9. python模块 zipfile

    zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的zipfile里有两个非常重要的class, 分别是ZipFile和Zip ...

  10. mysql查询语句的执行顺序(重点)

    一 SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOI ...