sqlcipher是sqlite数据库包含加密解密的版本,也是开源软件。要正确编译这个软件,需要先正确编译openssl或者其他加密解密库,然后正确的链接到这个软件中。
sqlcipher编译
$(SQLITE3EXE): shell.c $(SHELL_CORE_DEP) $(LIBRESOBJS) $(SHELL_CORE_SRC) $(SQLITE3H)
$(LTLINK) $(SHELL_COMPILE_OPTS) $(READLINE_FLAGS) -DSQLITE_HAS_CODEC shell.c $(SHELL_CORE_SRC)
/link $(SQLITE3EXEPDB) $(LDFLAGS) $(LTLINKOPTS) $(SHELL_LINK_OPTS) $(LTLIBPATHS) $(LIBRESOBJS) $(LIBREADLINE) $(LTLIBS) $(TLIBS)
2):修改TLIBS的定义如下
!IF $(FOR_WINRT)!=0 || $(USE_CRT_DLL)!=0
TLIBS = libcrypto.lib
!ELSE
TLIBS = libcrypto_static.lib ws2_32.lib advapi32.lib user32.lib
!ENDIF
4:运行对应的vs编译命令行,创建bld路径。
使用 nmake /f …\sqlcipher-master\Makefile.msc TOP=…\sqlcipher-master,编译出缺省MT的运行包。
使用nmake /f …\sqlcipher-master\Makefile.msc TOP=…\sqlcipher-master FOR_WINRT=1
我将修改了Makefile.msc的源文件包,再次打包存放到了百度网盘,有需要的可以下载尝试。
链接:https://pan.baidu.com/s/1Dd5JzxWNUkIDFqHoGAkxKA
提取码:a444