SQLite3.8.4.2在Windows平台下的编译和使用

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

SQLite is a software library that implements a self-containedserverlesszero-configurationtransactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in thepublic domain.

  1. 下载源代码

可以在下面的链接中找到“Source Code”一栏:

http://www.sqlite.org/download.html

当前提供了两个下载源,我们选择第一个

sqlite-amalgamation-3080402.zip

这个是将代码整合过的,解压后应该有下面几个文件:

  1. shell.c

  2. sqlite3.c

  3. sqlite3ext.h

  4. sqlite3.h

其中sqlite3.c源文件很大。可以看得出确实是整合在一起的,不过不影响我们编译。

 2.  编译源代码

这里使用Visual Studio 2013进行编译,启动VS2013,选择从现有代码创建项目,如图:

202907_fTSY_580940.png

项目类型为Visual C++,项目文件位置选择解压的源代码目录,项目名称随便打一个,其他选项默认,下一步。

项目类型选择静态库lib(如果你以后要直接把SQLite库打包进exe),或者选择动态链接库(会独立一个SQLite.dll),这里就选择静态库lib。

然后下一步,下一步,完成就行了。

进入项目后,可以在解决方案资源管理器中查看添加进入的头文件和源文件。

选择Debug或者Release模式进行编译,这个过程很快就完成了,编译成功会得到响应的lib文件。

1>------ 已启动生成:  项目: test, 配置: Debug Win32 ------

1>  sqlite3.c

1>  shell.c

1>  正在生成代码...

1>  test.vcxproj -> xxx \sqlite-amalgamation-3080402\sqlite-amalgamation-3080402\Debug\test.lib

========== 生成:  成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========

 3. 创建项目

为了方便操作,我们可以直接在当前解决方案中添加一个项目(这里选择Win32控制台应用程序),如图:

203859_3a27_580940.png

进入新建项目的属性页,添加引用,因为同在一个解决方案下,会找到SQLite的库引用,就不用再去用预处理导入lib文件了。

204240_97Yi_580940.png

然后需要包含sqlite的头文件,这里图方便就直接把sqlite项目的头文件Copy过来,注意不要在VS中复制粘贴,因为那是虚链接,我们直接在磁盘进行拷贝,然后在VS中添加现有项就OK。

204644_5HAV_580940.png

然后按照官方的演示,直接照抄示例代码如下:

// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"
#include "sqlite3.h"static int callback(void *NotUsed, int argc, char **argv, char **azColName)
{int i;for (i = 0; i < argc; i++){printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");}printf("\n");return 0;
}int _tmain(int argc, char* argv[])
{sqlite3 *db;char *zErrMsg = 0;int rc;if (argc != 3){fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);return(1);}rc = sqlite3_open(argv[1], &db);if (rc){fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));sqlite3_close(db);return(1);}rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg);if (rc != SQLITE_OK){fprintf(stderr, "SQL error: %s\n", zErrMsg);sqlite3_free(zErrMsg);}sqlite3_close(db);return 0;
}

编译运行,输入参数,然后查看效果。

下面是官方提供的API参考文档:

http://www.sqlite.org/c3ref/intro.html

这里就不一一演示了。



转载于:https://my.oschina.net/ybusad/blog/214432

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/291600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【招聘(北京武汉)】北京高远华信科技 .NET 高级工程师

职位名称&#xff1a;.NET Core 高级工程师培养方向&#xff1a;架构师、技术总监月薪&#xff1a;15k-20k工作地点&#xff1a;北京、武汉职位信息1、理解后端架构&#xff0c;与后端工程师配合&#xff0c;为项目提供最优化的.NET Core技术解决方案&#xff1b;2、根据项目要…

通过邮箱远程控制电脑

转自本人在知乎上面的答案印如意Fitz 通过往邮箱发送邮件&#xff0c;从而达到控制电脑or开始抓取数据or播放音乐等系列操作。 like that: 先用我的常用邮箱给我备胎邮箱发送一封主题为“shutdown”的邮件 然后我要关机的电脑检测到了自动关机并发挥一封主题为“already shutdo…

上海纳税百强2016,邢台2017纳税百强,深圳百强企业

上海纳税百强企业名单公布。市税务部门组织的税收收入达到11847.0亿元&#xff0c;同比增长5.5%&#xff0c;增收616.6亿元&#xff1b;剔除证券交易印花税后&#xff0c;税收收入完成11380.6亿元&#xff0c;同比增长15.1%&#xff0c;其中&#xff0c;第三产业税收收入完成81…

Oracle DBA

实验7 Oracle数据库安全管理 1&#xff0e;实验目的 &#xff08;1&#xff09;掌握Oracle数据库安全控制的实现。 &#xff08;2&#xff09;掌握Oracle数据库用户管理。 &#xff08;3&#xff09;掌握Oracle数据库权限管理。 &#xff08;4&#xff09;掌握Oracle数据…

c++ 对象起始地址 指针靠齐_你需要知道的各种指针运算

数组的某个成员可以用数组的基地址加上一个偏移量来表示。我们可以声明一个指针double *p;&#xff0c;把它作为基地址&#xff0c;然后就可以像数组一样在这个基地址上使用偏移量。在基地址上&#xff0c;我们可以找到第1个成员p[0]的内容&#xff0c;在基地址上前进一步可以找…

2014,成为更好程序员的7个方法

2019独角兽企业重金招聘Python工程师标准>>> // 译注&#xff1a;英文原文发布今年年初&#xff0c;所以开头提到了”新年“&#xff0c;请不要惊讶~ 程序员总是有很多的决定&#xff0c;不是吗&#xff1f;如果你的新年待办事项还是空白的话&#xff0c;那么可以考…

.NET6之MiniAPI(十五):跨域CORS(下)

前一篇的跨域请求的方式是松宽的方式&#xff0c;毕竟跨域有安全风险&#xff0c;应尽量少的允许访问必要资源&#xff0c;本篇分别从请求方法&#xff0c;请求头和请求凭据方面了解跨域设置。请求方法&#xff1a;api项目&#xff0c;get&#xff0c;post是默认访问&#xff0…

游戏上线... 记录下...

转载于:https://www.cnblogs.com/porter/p/6339792.html

Beetlex服务网关1.8发布

在新的版本中网关添加了不少功能&#xff0c;分别有流量控制包括&#xff1a;会话、IP、域名和Url等流量控制配置&#xff1b;在插件上添加了Redis读取和ElasticSearch文档搜索功能。流量控制在新版本中网关添加了流量控制功能&#xff0c;通过这一功能可以控制会话、IP、域名和…

HDU 3487 Play with Chain | Splay

Play with Chain Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) 【Problem Description】YaoYao is fond of playing his chains. He has a chain containing n diamonds on it. Diamonds are numbered from 1 to n. At first, the d…

WIN32程序结构

windows程序基于消息驱动系统&#xff0c;用户的所有行为和事件都被windows转成消息。windows内部对消息的处理:消息生命周期:1.消息产生:windows监控所有具体输入事件硬件设备。当系统收到设备输入事件时。windows将对应事件转成消息。2.消息投递:每个消息都有一个目标窗体接收…

zsh

2019独角兽企业重金招聘Python工程师标准>>> 1. MAC安装zsh后,部分bash 指令失效conda, list, pip, list失效&#xff0c;怎么解决&#xff1f; step1&#xff1a;vim ~/.bash_profile 记录Anaconda的路径地址: export PATH"/Users/XXX/anaconda/bin:$PAT…

导出jar插件_Fluttify输出的Flutter插件工程详解

系列文章&#xff1a;yohom&#xff1a;Fluttify输出的Flutter插件工程详解​zhuanlan.zhihu.comyohom&#xff1a;开发Flutter插件必备原生SDK->Dart接口生成引擎Fluttify介绍​zhuanlan.zhihu.comyohom&#xff1a;如何使用Fluttify开发一个新的Flutter插件​zhuanlan.zhi…

[免费下载应用]iNeuKernel.Ocr 图像数据识别与采集原理和产品化应用

目 录1..... 应用概述... 22..... 免费下载试用... 23..... 视频介绍... 24..... iNeuLink.Ocr图像数据采集应用... 25..... 数据上传到iNeuOS工业互联网操作系统... 46..... Ocr基本概念... 71. 应用概述在工业、军工或航天等领域&#xff0c;有些设备及软件系统比较陈…

hdu 1848(Fibonacci again and again)(SG博弈)

Fibonacci again and again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8380 Accepted Submission(s): 3462 Problem Description任何一个大学生对菲波那契数列(Fibonacci numbers)应该都不会陌生&#xff…

linux c之gcc编译出现error:lvalue required as unary ‘‘ operand解决办法

1、问题 今天搞epoll实现io复用的时候gcc编译出现这个错误lvalue required as unary & operand&#xff0c;如下图 2、解决办法 accept函数参数如下 int accept(int sockfd,struct sockaddr *addr,socklen_t *addrlen); 在第三个参数为了少些代码我是这样写成这样&size…

生成arff文件,csv转为arff

一、什么是arff格式文件 1、arff是Attribute-Relation File Format缩写&#xff0c;从英文字面也能大概看出什么意思。它是weka数据挖掘开源程序使用的一种文件模式。由于weka是个很出色的数据挖掘开源项目&#xff0c;所以使用的比较广&#xff0c;这也无形中推广了它的数据存…

C#中的类

前言今天咱们简单复习下C#中类的相关知识。在刚开始学习编程的时候&#xff0c;都是从面向过程的C语言开始的&#xff0c;它有个特征就是有其执行顺序&#xff0c;先干这&#xff0c;再干那&#xff0c;很直接&#xff0c;也很好理解。但现在学习C#或者JAVA等面向对象的语言&am…

Stopwatch类学习

1、概述:给一条大MSDN的链接关于Stopwatch类最详细的教程 ,然后看着教程自己手动敲一边,加深映象,好记性不如烂键盘,哈哈,开个玩笑&#xff01; 2、类位置:这个类在哪里,这个是重点,虽然C#IDE很强大,但是我们还是得简单的了解下。通过一段代码来说明: using System; namespace …

看看这套WPF开源基础控件库:WPFDevelopers

此项目包含了 微信公众号 《 WPF开发者》 日常开发分享&#xff0c;欢迎Star。运行环境 Visual Studio 2019&#xff0c;dotNet Framework 4.0 SDK欢迎关注微信公众号支持贡献者DrawPrize&#xff08;WPF 实现大转盘抽奖&#xff09;GIF帧数太多&#xff0c;无法上传&#xff0…