sqliteWin10编译SqlCipher步骤

备干活

  • Visual Studio 2015,其他版本未证明,估计问题不大
  • ActiveState ActivePerl,用于编译OpenSSL
  • Mingw,在官网下载minimum installer安装即可
  • nasm,汇编代码运行环境,官网下载安装即可
  • ActiveState ActiveTcl,需要用到tclsh工具

    上述软件要先安装,注意有软件安装后用手动添加环境变量

  • OpenSSL源码,在官网下载即可

  • SqlCipher源码,在官网下载即可

安装OpenSSL

  1. 管理员权限开辟VS2015之指令行窗口,并运用cd /d XXX令切换至OpenSSL目录下

  2. 施行以下命令:

    • perl Configure VC-WIN32
    • nmake
    • nmake test
      假如安排成功,该手续会输出All tests Successful
    • nmake install
      标准安装命令,32各机器默认安装为C:\Program Files
      (x86)\OpenSSL文件夹
  3. 现设置目录下生成了片只仓库文件:

    • 动态库文件libcrypto-1_1.dll(位于./bin目录下)
    • 静态库文件libcrypto.lib (位于./lib目录下)

编译SqlCipher

  1. 以高达一致步生成的少只仓库文件复制到SqlCipher主目录下
  2. 组织者权限运行C:\mingw\msys\1.0\msys.bat批处理公事,进入msys
    shell命令环境
  3. 利用命令cd /d XXX切换到SqlCipher目录
  4. 改sqlite3.c文件,在文件的极初步有的补充加以下代码:

    #define SQLITE_HAS_CODEC 1
    #define SQLITE_ENABLE_RTREE 1
    #define SQLITE_ENABLE_COLUMN_METADATA 1
    #define SQLITE_TEMP_STORE 2
    
  5. 继续修改sqlite3.c文件,在文件之最终加加以下代码:

    #include <sqlcipher/crypto.c>      /*** SQLCIPHER ADDITION ***/
    #include <sqlcipher/crypto_cc.c>      /*** SQLCIPHER ADDITION ***/
    #include <sqlcipher/crypto_impl.c> /*** SQLCIPHER ADDITION ***/
    #include <sqlcipher/crypto_openssl.c> /*** SQLCIPHER ADDITION ***/
    #include <sqlcipher/pager.c>       /*** SQLCIPHER ADDITION ***/   
    
  6. 运转以下命令进行布局(注意就是单排):

    ./configure --enable-tempstore=yes --with-crypto-lib=none --disable-tcl CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2 -DNOCRYPT -lcrypto -DSQLCIPHER_CRYPTO_OPENSSL -I/c/progra~2/OpenSSL/include /d/MySoftware/sqlcipher/sqlcipher-master/libcrypto.dll -L/d/MySoftware/sqlcipher/sqlcipher-master/ -static-libgcc" LDFLAGS="libcrypto.lib"
    
  7. 执行命令:

    • make clean
    • make,生成可执行文件sqlcipher.exe
    • make dll,生成库文件sqlite3.dll

顶目前为止,Sqlcipher源码就编译完成了。接下来就得参考第一首参考文章尽情使用该软件啦。

参考文章

How to compile SQLCipher for Windows
Desktop.

用VS2015编译sqlcipher

本文写作时部分引用上述两篇文章,特此感谢。

网站地图xml地图