VS编译SQLite

前端之家收集整理的这篇文章主要介绍了VS编译SQLite前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

sqlite是一个小型数据库,特别适合于客户端应用程序使用,它的众多好处就不多说了,有兴趣的去搜索

话说使用吧。

我们要使用,就需要调用它,现在一步一步来。

第一步:上sqlite官网http://www.sqlite.org/下载它的源码,它的源码有两种格式,一种是许多文件都放在一起的,我称之为集成代码包,另一个是很多.c和.h文件,是分开的,我称之为松散代码包。松散代码包对编译的要求比较高,我也没那时间再去研究它的源代码,于是又变懒了,使用集成代码包吧,如下图:

下载图上标注的代码

第二步:准备编译,下载下来之后是个ZIP,解开,里面有shell.c、sqlite3.c、sqlite3.h和sqlite3ext.h这么几个文件,其中shell.c我们不需要,其他的都是要用的

第三步:开始编译,以VS2010为例,打开VS2010,创建一个Win32的DLL空工程,然后把sqlite3.c、sqlite3.h和sqlite3ext.h这三个文件添加到工程中去,要编译出一个DLL,现在它已经能编译出来了,问题是编译出来之后没有导出函数,是不能用的,所以需要一个DEF文件(符号定义文件),这个文件按理来说我们可以自己添加,不过你如果不阅读源代码添加不了了,我们简单一点,使用官方提供的,这个要另外下载,当然,还是刚才的下载位置,找到sqlite官方为我们提供好的DLL的下载链接,进行下载,如下图:

下载下来之后解开这个ZIP,里面有个DEF文件,复制到工程目录中去,然后再在VS2010中添加上,下图:


现在有导出函数了,但是编译不能通过,我们需要定义两个宏,他们是:

sqlITE_ENABLE_COLUMN_MetaDATA

sqlITE_ENABLE_RTREE

把这两个宏添加到工程中去,如下图:

现在编译,就可以通过了

问题一:你编译Debug版本和Release版本的时候这两个宏要分别进行添加,否则是不行的。

问题二:编译Release版本的时候记得设置成静态编译,否则在没有VC库的机器上不能正常调用这个DLL。

第四步:优化处理和调用

现在,你已经有一个sqlite的DLL了,为了个性化,或者其他要求,你可以添加一个Version资源,然后写上一些个性化的信息,到此为止,你的sqlite的DLL已经编译出来了。我在VS2010下,编译出来的只有601KB,比官方提供的630KB小不少(DLL是越小越好啊),甚至你还可以给它来个数字签名彰显版权(官方不会限制你这么做)。

第五步:成果展示:

数据库之前,要进行转换,读出来之后要再次进行转换,否则是乱码(貌似和解析XML一样啊)。

原文链接:https://www.f2er.com/sqlite/199596.html

猜你在找的Sqlite相关文章