前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一步一步教你自己来编译 wxsqlite3 静态库

一步一步教你自己来编译 wxsqlite3 静态库

作者头像
我与梦想有个约会
发布2018-07-24 16:00:05
2.5K0
发布2018-07-24 16:00:05
举报
文章被收录于专栏:jiajia_deng

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 下来。

代码语言:javascript
复制
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 为依赖项
  • 批量根据自己的需要生成静态库

Post Views: 7 相关

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年7月8日,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 wxWidgets
  • 编译 wxsqlite3 代码
  • 总结
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档