前言
WCDB 是一个易用、高效、完整的移动数据库框架,它基于 SQLite 和 SQLCipher 开发,在微信中应用广泛,且支持在 C++、Swift、Objc 三种语言环境中使用。官方提供了详细的 使用教程
这里仅介绍 Windows 平台下的编译环境搭建。以 Visual Studio 2019 为例。
一、编译前准备
1、搭建编译环境
- Visual Studio 2019
- CMake 3.26
- Windows 10 操作系统
2、下载源代码
以下是官方给出的下载方式:
git clone https://github.com/Tencent/wcdb.git
cd wcdb
git submodule update --init sqlcipher
实际使用中,可能会遇到第3句执行失败。这时需要做2件事:
- 在 github 上配置 SSH key
- 使用 SSH 方式 clone 代码,如下所示:
git clone git@github.com:Tencent/wcdb.git cd wcdb git submodule update --init sqlcipher
二、开始编译
按照官方给的编译方式,存在以下几个问题:
- 没有导出任何符号
- 需要在CMake时,额外添加一个BOOL值:CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS
- 使用了默认的Visual Studio版本,没法自定义
- 在 CMake-GUI 界面上选择我们想要的 Visual Studio 版本
- 默认生成的是 MT/MTd,而我们需要的是 MD/MDd
- 在 Visual Studio 界面中,右键
项目属性 -> C/C++ -> 代码生成 -> 运行库中选择MD/MDd
- 在 Visual Studio 界面中,右键
1、打开 CMake-GUI 界面,Source code 目录为 wcdb\tools\version,再新建一个 build 文件夹,位置:wcdb\tools\version\build,按下图进行操作:
2、选择我们想要的版本后,依次点击:Configure -> Generate -> Open Project,生成并打开 sln 文件
3、在项目属性页,将sqlcipher和WCDB都改为MD/MDd模式
至此,我们就完成了WCDB 在 Visual Studio 2019 下的编译工作。生成了我们需要的 WCDB.dll 和 WCDB.lib 文件。