如何编译SQLite源代码?

 

 

 

目录(?)[-]

  1. 官方最新版SQLite下载地址httpwwwsqliteorgdownloadhtml
  2. 配置步骤
  3. 测试SQLite
 WIN7+VS2010下配置编译SQLite_3.8.6

1.官方最新版SQLite下载地址:http://www.sqlite.org/download.html

 

打开上面的链接我们需要下载两个组件:1.SQLite的源码 2.SQLite的.def模块定义文件(用来生成lib文件和dll文件)如图:

 

页面往下找到:

 

2.配置步骤

 

将这两个文件下载下来解压到当前目录即可:

紧接着我们打开VS2010新建一个Win32应用程序,项目命名为sqlite3配置如图:

然后把刚才下载解压出来的文件复制到这个项目下如图:

粘贴到刚才新建的项目中并包含进项目:

包含进项目:

然后配置项目属性:

由于Release版和Debug版不能混用有,时候名字一样不好区分到底是哪个版本的库,所以Debug版加上d用以区分,到时候编译出来lib和dll会自动以d结尾

Release版这里默认即可,然后接着配置:

添加模块定义:

配置完毕直接编译得到lib和dll文件:

 

3.测试SQLite

 

接下来我们新建一个win32控制台项目,然后在这个项目中我们为sqlite新建几个文件夹:

 

把刚才用到的sqlite3.h和sqlite3ext.h复制进include中,把sqlite3d.lib复制到lib中,然后配置的控制台项目:

 

在项目中新建一个Main.cpp输入以下代码测试一下sqlite:

 

  1. #include "..\sqlite3\include\sqlite3.h"  
  2. #include <assert.h>  
  3.   
  4. #define SQLITE_SAFE_CLOSE( Ptr ){ if( nullptr != Ptr ){ sqlite3_close( Ptr ); Ptr = nullptr; } }  
  5. int main()  
  6. {  
  7.     sqlite3* DataBase = nullptr;  
  8.     //打开或者创建数据库  
  9.     if( SQLITE_OK != sqlite3_open( "test.db", &DataBase ) )  
  10.     {  
  11.         assert( false );  
  12.         return 0;  
  13.     }  
  14.     //释放掉数据库  
  15.     SQLITE_SAFE_CLOSE( DataBase );  
  16.     return 0;  
  17. }  
#include "..\sqlite3\include\sqlite3.h"
#include <assert.h>

#define SQLITE_SAFE_CLOSE( Ptr ){ if( nullptr != Ptr ){ sqlite3_close( Ptr ); Ptr = nullptr; } }
int main()
{
	sqlite3* DataBase = nullptr;
	//打开或者创建数据库
	if( SQLITE_OK != sqlite3_open( "test.db", &DataBase ) )
	{
		assert( false );
		return 0;
	}
	//释放掉数据库
	SQLITE_SAFE_CLOSE( DataBase );
	return 0;
}
编译运行一下,提示找不到sqlite3d.dll,把刚才生成的sqlite3d.dll复制到控制台的exe文件所在的目录下重新运行一下即可!
 
===================================================================================

VS2010下编译sqlite3  

首先下载源码,http://www.sqlite.org/download.html中第一个下载文件就是,下载sqlite-amalgamation-3071000.zip,当前版本是3.7.10,里面包含了四个文件,sqllite3.h、sqlite3.c、sqllite3ext.h、shell.c,shell.c暂时不用,由于源码中没有包含def文件,所幸其dll版本中包含了def文件,所以需要下载dll压缩包,下载地址和源码在同一个页面上,下载sqlite-dll-win32-x86-3071000.zip。

下面就是工程建立步骤:

1.新建VS2010新建一个“Win32 项目”,命名为:sqlite3。

2.在接下来的对话框中选择“DLL”类型,附加选项中选择“空项目”,点击“完成”。

3.解压压缩包,将sqllite3.h、sqlite3.c、sqlite3ext.h、sqlite3.def文件复制到工程文件夹下。

4.在工程的Include Files中添加sqlite3.h、sqlite3ext.h文件。

5.工程的Source Files中添加sqlite3.c、sqlite3.def文件。

6.设置模块定义文件sqlite3.def,否则生成的dll没有对应的lib ,如下图所示:

VS2010下编译sqlite3 - 无名箫箫 - 金朋轩的博客
7.添加预定义选项SQLITE_ENABLE_COLUMN_METADATA、SQLITE_ENABLE_RTREE,这是sqlite3的宏定义。 
VS2010下编译sqlite3 - 无名箫箫 - 金朋轩的博客
8.按F7生成相应的dll和lib。
posted @ 2014-12-24 21:11  qq260250932  阅读(4757)  评论(0编辑  收藏  举报