wxsqlite3 相比普通的 sqlite3 的好处就是可以对数据库进行加密,但这个 wxsqlite3 的编译过程真的是非常曲折,我自己也是折腾了几个小时才真正编译出来一个可用的 wxsqlite3 的静态库文件。那么接下来废话不多说开始准备环境。

安装 wxWidgets

访问 https://www.wxwidgets.org/,在首页点击 Download now 按钮。 下载 Windows Installer 安装包 下载完成后安装我就不多说了,默认下一步下一步就可以了,我这里安装到默认的 C 盘: 接下来打开 C:\wxWidgets-3.1.1\build\msw 目录,根据你的 VS 版本打开对应的解决方案,我使用的是 VS2013,所以打开 wx_vc12.sln。点击生成下面的皮生成菜单,全选所有点击生成: 这个过程主要是会在 C:\wxWidgets-3.1.1\lib\vc_lib\mswu\wx 生成一个 setup.h 和其他依赖文件,这个文件在我们后面编译 wxsqlite3 的时候会用到。

编译 wxsqlite3 代码

首先命令行执行如下命令,将最新的 wxqlite3 的代码 clone 下来。

1
git clone https://github.com/utelle/wxsqlite3.git

打开 wxsqlite3 目录下的 build31 文件夹,一样根据你本地 VS 的版本选择对应的解决方案文件(.sln)打开。我依然使用的是 VS2013 的解决方案。 接下来要配置一下项目,右键 wxsqlite3 项目->属性,在打开的属性页中,选择所有配置和所有平台: 在 VC目录->包含目录 中,添加 C:\wxWidgets-3.1.1\include\msvc 文件夹和 C:\wxWidgets-3.1.1\include 文件夹 在 通用属性->引用 中,将 libsqlite3 设置为依赖库: 接下来,将 libsqlite3 项目和 wxsqlite3 项目的所有 Debug 版本的运行库修改为 /MTD,将所有 Release 版本的运行库都修改为 /MT,注意如果你需要用 64 位的 wxsqlite3 的话,Win64 的属性也要修改。 接下来还是一样点击 生成->批生成 菜单,选择你要生成的类型,我需要 32/64 位的 Debug 版本和 32/64 的 Release 版本,所以我只选择了 Debug、Debug Win64、Release、Release Win64 四个版本。然后点击生成。(图片由于上面看不到,就没圈起来) 不出意外的话,将会生成 wxsqlite3 的静态库到上级目录下的 lib\vc120_lib 目录下。 这里大家看到只有两个,是因为 Debug Win64 和 Debug 生成的路径和文件名是一样的,被覆盖了,Release 也是一样,你修改一下生成后的目录或者文件名就可以了。这样生成出来的 wxsqlite3.lib 文件你就可以引入到你自己的项目中使用了。使用时需要包含 wxsqlite3\include 目录下的头文件。

总结

接下来总结一下步骤,防止第一次编译的同学神经错乱。。。

  • 安装 wxWidgets
  • 批量生成所有项目(主要为了生成 setup.h 文件)
  • 克隆 wxsqlite3 项目并根据自己的需要打开对应解决方案
  • 配置两个依赖目录
  • 配置项目的运行库(主要为了与你 exe 的运行库匹配一致)
  • 设置 libsqlite3 为依赖项
  • 批量根据自己的需要生成静态库