使用VS2010编译sqlite和在VS2010中配置使用sqlite的简单例子演示

原创 2012年03月22日 16:55:50

知识补充:

        sqlite3.dll动态链接库,它允许程序共享执行特殊任务所必需的代码和其他资源。

        动态的sqlite3.lib相当于一个h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿主程序中,其生成的sqlite3.exe在运行时需要相应的dll文件支持 。

        静态的sqlite3.lib将导出声明和实现都放在lib中。编译后所有代码都嵌入到宿主程序,其生成的sqlite3.exe可直接运行。

 

任务:

        一.使用VS2010编译sqlite3,生成动态的sqlite3.lib和sqlite3.dll(sqlite3.dll在官网中也可下载到)。在VS2010中编写简单程序,使用动态的sqlite3.lib和sqlite3.dll。

        二.使用VS2010编译sqlite3,生成静态的sqlite3.lib。在VS2010中编写简单程序,使用静态的sqlite3.lib。

 

任务一:

1.在sqlite官网 http://www.sqlite.org/download.html 上下载sqlite-amalgamation-3071000.zip 和sqlite-dll-win32-x86-3071000.zip(我用的此版本)。

2.分别解压上述两个文件到各自文件夹下(sqlite3.def、sqlite3.dll在同一文件夹sqlite-dll下)。

3.从VS2010的安装目录下Microsoft Visual Studio 10.0\VC\bin找到lib.exe和link.exe,从VS2010的安装目录下G:\Microsoft Visual Studio 10.0\Common7\IDE找到mspdb100.dll。将lib.exe link.exe mspdb100.dll放到步骤2中的sqlite-dll文件夹下。

4.打开cmd窗口,转到上述sqlite-dll文件夹下,我的是E:\SoftwareDesign\SQLite\sqlite-dll

5.输入命令:LIB /DEF:sqlite3.def /machine:IX86。这时,在sqlite-dll文件夹下会出现sqlite3.lib。(这是动态的sqlite3.lib文件,只有47KB大小。)

6.在VS2010中编写简单程序。文件->新建->项目->Win32控制台应用程序,命名为test1 。

7.将test1.cpp中的内容替换为以下代码:

// test1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdlib.h>
#include "sqlite3.h"
int _tmain(int argc, _TCHAR* argv[])
{
	int rc;
	int i, nrows, ncols, tr;
	char *errmsg = NULL;
	char **results;
	
	sqlite3 *db = NULL;
	rc = sqlite3_open("demodb", &db);
	if (rc)
	{
		fprintf(stderr, "can't open db!/n", sqlite3_errmsg(db));
		sqlite3_close(db);
		exit(1);
	}
	else
	{
		printf("db open successfully!/n");
	}
	sqlite3_get_table(db,"select * from clients;",&results,&nrows,&ncols,&errmsg);
	printf("DB has %d rows and %d cols/n/n",nrows,ncols);
	tr=(nrows+1)*ncols;
	for(i=0;i<tr;++i) //输出查询结果
    {
		printf("results[%d]= %s/n",i,results[i]); //此处可以自己定义输出格式,
	}
	sqlite3_free_table(results); //free 
	sqlite3_close(db);
	int a;
	scanf("%d",&a);//没有此行代码,运行窗口出现后会马山消失。
	return 0;
}

8.将sqlite3.h、sqlite3.lib、sqlite3.dll复制到工程所在文件目录中。我的是E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\test1\test1,如下图所示:

9.在VS2010中,右键test1工程,添加->现有项,在出现的对话框中选择上一步中的sqlite3.lib。(必须将lib文件再添加到工程中)

10.按F5键,运行成功。

PS:这时,到工程所在文件目录下找到test1.exe(大小为29KB),我的是在E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\test1\Debug。如果直接双击运行的话,会提示因缺少sqlite3.dll文件而无法运行。这是因为动态的sqlite3.lib只是将声明部分编译到test1.exe中,运行时需要dll文件的支持。将sqlite3.dll文件复制到test1.exe同一目录下,再双击运行test1.exe,就会运行成功。

 

任务二:

1.在VS2010中,文件->新建->项目->Win32项目,命名为sqlite3(其他名称也行)。在向导设置中,选择DLL(D)、空项目。

2.将下载的sqlite-amalgamation-3071000.zip 中的“sqlite3.h”、“sqlite3.c”、“sqlite3ext.h”三个文件添加到工程中,具体做法:右键sqlite3工程->添加->现有项,在出现的对话框中选择上述三个文件。

3.(release版本比debug版本体积小,运行速度快,所以操作中我发布的是release版本)如下图所示

4.按F7键编译(或右键->生成)。在工程所在文件目录中会编译出sqlite3.dll文件。(PS:网上有的讲解需要配置很多的参数等等,试了很多次都不成功,然而按照上述无需多余操作即可成功。可能是VS或sqlite版本不同的原因)

5.编译的同时会在工程所在目录中产生sqlite3.obj文件,我的是在E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\sqlite3\sqlite3\Release下。接下来要用到VS安装目录下的lib.exe文件。将sqlite3.obj文件复制到lib.exe所在目录下,我的是G:\Microsoft Visual Studio 10.0\VC\bin。将G:\Microsoft Visual Studio 10.0\Common7\IDE下的mspdb100.dll,mspdbcore.dll,mspdbsrv.exe,msobj100.dll复制到lib.exe所在目录下。

6.打开cmd窗口,转到lib.exe所在文件夹下,我的是G:\Microsoft Visual Studio 10.0\VC\bin。输入命令:lib sqlite3.obj。这时会生成静态的sqlite3.lib(大小为2.32MB)。

7.在VS2010中编写简单程序。文件->新建->项目->Win32控制台应用程序,命名为test2 。

8.test2.cpp中的代码替换为上述的代码。(任务一步骤7中的代码)

9.将sqlite3.h和步骤6中生成的静态sqlite3.lib复制到test2工程所在的文件目录中,我的是E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\test2\test2。

10.在VS2010中,右键test2工程->添加->现有项。选择sqlite3.lib。

11.按F5键,运行成功。

PS:这时,在E:\SoftwareDesign\SQLite\VisualStudio2010Workspace\Projects\test2\Debug下会生成test2.exe(大小为501KB)。双击可以直接运行。此时不需dll文件支持。因为静态的sqlite3.lib将导出声明和实现都放在lib中,编译后所有代码都嵌入到test2.exe,可直接运行。

SQLite安装及在Visual studio 2010(VS2010)中的使用

本人菜鸟,本文仅自己学习过程中总结,望高手指点 1.SQLite安装 SQlite官网:http://www.sqlite.org/download.html 找到以下截图中内容 第一...
  • Micro_Ryan
  • Micro_Ryan
  • 2015年07月30日 15:45
  • 5477

VS2010使用SQLite数据库的Demo

  • 2014年12月08日 18:55
  • 3.02MB
  • 下载

vs2010下vc调用sqlite3数据库以及配置

对于在vs2010下,使用mfc来操作sqlite3数据库,首先要做的就是编译生成sqlite3.lib,sqlite3.dll这2个文件,sqlite3.dll这个文件在官方网站上可以下的到,官方网...
  • wushuang443
  • wushuang443
  • 2014年12月24日 10:44
  • 3649

在VS2010下c++与Sqlite3的连接

SQLite并没有一次性做到位,只有下载这些东西是不能放在vs2010中并马上使用的,下载下来的文件中有sqlite3.c/h/dll/def,还是不够用的。我们需要的sqlite3.lib文件并不在...
  • pingwu_long
  • pingwu_long
  • 2015年04月19日 15:02
  • 941

vs2010 C# 使用SQLite3

1.下载 System.Data.SQLite 地址: http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki ...
  • chen249191508
  • chen249191508
  • 2015年07月21日 16:06
  • 3658

vs2010 使用sqllite来取代Mysql

vs2010 使用sqllite来取代Mysql ------------------------------------------ 1 从sqllite官网上下for .NET的驱动(sqli...
  • jo_say
  • jo_say
  • 2015年04月25日 01:49
  • 1068

vs2010+SQL2008R2在本地发布成的网站,如何在服务器上配置环境与运行?

第一步:   首先把你在本地发布成的网站的文件夹发送到服务器,可以把文件夹存到云盘上,然后在服务器里用IE浏览器去下载你的网站到你的服务器主机上 第二步: 在服务器上用IIS发布你的网站,打开I...
  • u014368040
  • u014368040
  • 2015年08月27日 17:50
  • 1512

使用VS2010编译sqlite和在VS2010中配置使用sqlite的简单例子演示(2017亲测有效)

转自:http://blog.csdn.net/hyxiaohaiyang/article/details/7382551 知识补充:         sqlite3.dll动态链接库,它允许程序...
  • gulang03
  • gulang03
  • 2018年01月16日 11:23
  • 60

VS2010+SQlite+EF 一、环境搭建

ORM好,ORM棒,将我等不太擅长数据库的程序员解放了出来,不用再机械性的一遍一遍的敲重复代码了。 以前试过动软代码生成器,确实不错,不过最大的问题就是,数据库结构如果变了,就要重新生成并替换一次代码...
  • clb929
  • clb929
  • 2017年03月05日 22:48
  • 1112

技术笔记_如何在vs2015中配置使用sqlite3 x64 for .Net4x

1.首先在http://www.sqlite.org/download.html上根据需要的.net版本下载对应的sqlite程序集,有两种配置bundle或非bundle版本,推荐下载bundle版...
  • polaris11767
  • polaris11767
  • 2015年12月22日 11:12
  • 6555
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用VS2010编译sqlite和在VS2010中配置使用sqlite的简单例子演示
举报原因:
原因补充:

(最多只允许输入30个字)