前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Win10编译SqlCipher步骤

Win10编译SqlCipher步骤

作者头像
xiaoxi666
发布2018-10-29 17:20:42
3.8K0
发布2018-10-29 17:20:42
举报
文章被收录于专栏:xiaoxi666的专栏xiaoxi666的专栏

准备工作

  • 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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
    • 安装OpenSSL
      • 编译SqlCipher
        • 参考文章
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档