SQLCipher Windows下的编译
[ 2018-11-27 ]从源码编译sqlcipher,可以修改源码,封装新的函数,导出dll
- 安装VS2010(其它版本未做测试)
- 安装ActivePerl
- 安装Nasm汇编器
- 安装MinGW
- 安装ActiveTcl
环境配置
安装完VS2010后将C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
和C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\
添加到环境变量。
打开C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC
运行里面的vcvarsall.bat
安装完Nasm汇编器后将安装目录,默认C:\Users\XXX\AppData\Local\bin\NASM\
添加到环境变量。
安装完MinGW后将C:\MinGW\bin
添加到环境变量。
MinGW->Basic Setup安装mingw32-base
,mingw32-gcc-g++
,msys-base
。
安装完ActiveTcl后将C:\Tcl\bin
添加到环境变量。
首先编译openssl
这里为了支持sqlcipher2.1.1
我们使用openssl-1.0.1g
版本
在D盘建立xBuild
目录,将sqlcipher-2.2.1
和openssl-1.0.1g
分别解压到xBuild
目录里
管理员权限运行Visual Studio 命令提示(2010)
,进入D:\xBuild\openssl-1.0.1g
目录。
依次运行以下命令:
perl Configure VC-WIN32 --prefix=D:\xBuild\openssl_build
ms\do_nasm
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install
perl Configure VC-WIN32 --prefix=D:\xBuild\openssl_build
,这行命令是设定编译好的openssl放到D:\xBuild\openssl_build
文件夹,这个文件夹不存在也没关系,会自己建的。
进到openssl_build中看看,有4个文件夹,都被生成了,就OK了。
编译sqlcipher
从openssl_build中找到把libeay32.dll
和 libeay32.lib
直接放入D:\xBuild\sqlcipher2.1.1
根目录中。
管理员权限运行C:\MinGW\msys\1.0\msys.bat
,cd /
可以进根目录,再cd d
进入d盘,然后依次进入D:\xBuild\sqlcipher2.1.1
目录中。
依次运行以下命令:
./configure --with-crypto-lib=none --disable-tcl CFLAGS="-DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_OPENSSL -I/d/xBuild/openssl_build/include /d/xBuild/sqlcipher-2.2.1/libeay32.dll -L/d/xBuild/sqlcipher-2.2.1/ -static-libgcc" LDFLAGS="-leay32"
make clean
make sqlite3.c
make
make dll
OK!