编译wxSQLite3(vs2015)


自己使用sqlite的源码来集成是个不错的办法,但是其提供的方法很麻烦,于是转用wxsqlite,配合wx使用相当方便。

因为想把wxsqlite静态编译到程序里,所以只能自己解决。



一、下载wxsqlite的源代码。
地址:https://github.com/utelle/wxsqlite3
没错,转到github去了。clone或是下载zip都行。


二、编译
进入源代码目录,进入build31目录。
用相应的vs打开相应的工程文件。我用的vs 2015,所以打开wxsqlite3_vc14.sln工程文件。
这里有个前提就是你的wxWidgets要配置好。
我是windows系统,所以在环境变量里添加了WXWIN变量,指向我的wxWidgets的安装目录。
这个工程里用的就是$(WXWIN)变量来查找wx。
打开工程文件,基本上不需要做什么,把整个解决方案都编译一遍就行了。


三、结果
成功编译后,
在 lib\vc140_lib下是生成的wxsqllite的静态库文件wxsqlite3.lib
在 build31\bin\Win32下是sqlite3的静态库文件。 Release\libsqlite3.lib


四、使用
我把 wxsqlite3.lib wxsqlite3d.lib复制到wx的安装目录下的lib\vc_lib目录,
把include下的所有.h文件复制到了wx安装目录下的include\wx目录下。
这样就不用配置工程里的附加目录和附加库了。
工程中include wxsqlite3.h。
另外,还需要用到sqlite的静态库。
这里要引用wxsqlite编译出来的sqlite静态库,据说支持数据库加密,但是目前用不上,也没测试是否真的有用。
如果要使用自己编译的sqlite的静态库,需要自己去添加加密的功能,因为wxsqlite需要这个支持。
我反正是没有成功配置出sqlite的加密版本,所以偷个懒用wxsqlite现成的。
wxsqlite里提供的sqlite3版本是3.14.1,
SQLITE_VERSION_NUMBER: 3014001,
QLITE_SOURCE_ID : 2016-08-11 18:53:32

对我来说足够了。

工程里配置好sqlite3的静态库文件,基本上就可以用了。


附加依赖项里记得把wxsqlite3d.lib,libsqlite3d.lib加上。

如果编译失败,可以试试添加 WXUSINGLIB_WXSQLITE3到预处理器定义里。




以上是静态库的使用。动态库的参考下应该是一样的做法。




在wxsqlite的源码里有个sample目录,这个就是它的示例程序了。前面编译解决方案的时候一起编译完了,可以运行下看看实际效果。
sample的源代码是很好的文档,可以多多参考。


-完-

你可能感兴趣的:(wxWidgets)