zoukankan      html  css  js  c++  java
  • electron 编译 sqlite3避坑指南---尾部链接有已经编译成功的sqlite3

    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 . ode_modules.binelectron-rebuild.cmd cd . ode_modulesqlite3

    下来使用管理员模式打开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
    

      此时可以在sqlite3libinding下,多了一个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 ☆☆☆

    使用说明:将编译好的包,放到  项目名称 ode_modulessqlite3libinding

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

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

  • 相关阅读:
    PHP学习笔记十二【数组排序】
    PHP学习笔记十一【数组】
    PHP学习笔记十【数组】
    PHP学习笔记九【数组二】
    PHP学习笔记八【数组】
    Codeforces 612E
    Codeforces 616E
    codeforce #339(div2)C Peter and Snow Blower
    poj 1113 Mall
    poj 2187 Beauty Contest
  • 原文地址:https://www.cnblogs.com/DonaHero/p/9809325.html
Copyright © 2011-2022 走看看