Visual Studio下SQLite数据库开发环境设置

简介: <span style="font-size:14px;">由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台,所以下边我们介绍Visual Studio下SQLite数据库开发环境设置。具体而言我们有两种方式可以在Visual Studio中SQLite数据库:使用SQLite源代码文件和使用Cocos2d-x提供的库文件。<br>1、使用SQLite源代码文件
由于我们介绍的内容都是基于微软的Visual Studio下开发的Win32平台所以下边我们介绍Visual Studio下SQLite数据库开发环境设置。具体而言我们有两种方式可以在Visual Studio中SQLite数据库使用SQLite源代码文件和使用Cocos2d-x提供的库文件。
1、使用SQLite源代码文件
SQLite是C编写的开源的数据库我们可以在http://www.sqlite.org/download.html网址下载最新的SQLite源代码如我下载的sqlite-amalgamation-3080401.zip文件解压这个文件后的内容包括shell.c、sqlite3.c、sqlite3.h和sqlite3ext.h。我们一般只需要sqlite3.c和sqlite3.h两个文件就可以了。
 我们需要把这两个文件添加到工程中具体过程是拷贝它们到工程中Classes目录打开解决方案如图所示右键点击HelloWorld工程下Classes目录在右键菜单中选择“添加”→ “现有项”。然后在弹出对话框中选择sqlite3.c和sqlite3.h文件添加到工程中。


添加sqlite3.c和sqlite3.h文件到工程


2、使用Cocos2d-x提供的库文件
由于Cocos2d-x引擎其实已经带有为Win32下访问SQLite所需要的库Cocos2d-x 3.x中SQLite库文件所在位置是<工程目录>\cocos2d\external\sqlite3\libraries\win32目录中头文件在<工程目录>\cocos2d\external\sqlite3\include目录中。我们可以直接使用。
这种方式的优点是可以直接使用Cocos2d-x引擎为开发者编译好的库文件版本兼容性好。缺点是配置开发环境比较麻烦而且移植到其它平台时Win32库文件是不能使用的我们需要重新配置环境。下面我们就详细介绍一下这种方式。
首先我们需要配置头文件搜索路径选中HelloWorld工程打开菜单“项目”→ “属性”弹出工程属性对话框如下图所示选择“配置属性”→“C++” →“常规”在右边的“附加包含目录”中添加$(EngineRoot)external\sqlite3\include注意配置目之间需要用分号分隔开。


配置头文件搜索路径
接下来我们还需要将SQLite3的库文件配置到链接环境中选择“配置属性”→“链接器” →“输入” 如下图所示在右边的“附加依赖项”中添加$ $(EngineRoot)external\sqlite3\libraries\win32\sqlite3.lib注意配置目之间需要用分号分隔开。


配置链接环境


接下来我们还需要将SQLite3的库文件拷贝到运行环境中最简单的方式是手工将<工程目录>\cocos2d\external\sqlite3\libraries\win32目录中的sqlite3.dll和sqlite3.lib文件拷贝到可执行文件所在目录下如<工程目录>\proj.win32\Debug.win32目录。然后编译工程就可以了但是如果我们清除了Debug.win32目录这两个文件就会丢失。为了防止这种情况我们可以在工程编译的时候设置编译事件我们可以在这个事件中定义拷贝过程。打开工程属性对话框如下图所示选择“配置属性”→“生成事件” →“预链接事件”修改右边窗口的“命令行”内容如下
if not exist "$(OutDir)" mkdir "$(OutDir)"
xcopy /Y /Q "$(EngineRoot)external\websockets\prebuilt\win32\*.*" "$(OutDir)"
xcopy /Y /Q "$(EngineRoot)external\sqlite3\libraries\win32\*.*" "$(OutDir)"
其中后面一行是我们追加的原来工程模板只设置了拷贝websockets。这个会在我们工程编译的时候将$(EngineRoot)external\sqlite3\libraries\win32\目录下的所有文件拷贝到输出目录其中$(EngineRoot)宏代表<工程目录>\cocos2d\目录$(OutDir)宏是可执行文件的生成目录这里代表<工程目录>\proj.win32\Debug.win32目录。


 配置编译事件

我们试着编译一下工程或者重新生成解决方案看看在可执行文件的生成目录下是否包含库文件sqlite3.dll和sqlite3.lib文件。

更多内容请关注最新Cocos图书《Cocos2d-x实战 C++卷》
本书交流讨论网站 http://www.cocoagame.net
更多精彩视频课程请关注智捷课堂Cocos课程 http://v.51work6.com
欢迎加入Cocos2d-x技术讨论群257760386


《Cocos2d-x实战 C++卷》现已上线各大商店均已开售

京东http://item.jd.com/11584534.html

亚马逊http://www.amazon.cn/Cocos2d-x%E5%AE%9E%E6%88%98-C-%E5%8D%B7-%E5%85%B3%E4%B8%9C%E5%8D%87/dp/B00PTYWTLU

当当http://product.dangdang.com/23606265.html

互动出版网http://product.china-pub.com/3770734

《Cocos2d-x实战 C++卷》源码及样章下载地址

源码下载地址http://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1 

样章下载地址http://51work6.com/forum.php?mod=viewthread&tid=1157&extra=page%3D1

欢迎关注智捷iOS课堂微信公共平台
目录
相关文章
|
24天前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
164 0
|
1月前
|
DataWorks NoSQL 关系型数据库
DataWorks常见问题之鉴权数据库设置失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
3月前
|
数据库 索引 OceanBase
OceanBase数据库设置了二级索引,但查看执行计划,没有反应出来,这种情况是为什么呢?
OceanBase数据库设置了二级索引,但查看执行计划,没有反应出来,这种情况是为什么呢?【1月更文挑战第12天】【1月更文挑战第60篇】
76 2
|
2月前
|
存储 监控 安全
内网屏幕监控软件的数据存储与管理:使用SQLite数据库保存监控记录和配置信息
在当今数字化时代,安全和监控在企业和组织中变得至关重要。内网屏幕监控软件作为一种关键工具,帮助组织监视员工的活动并确保信息安全。这种软件不仅需要高效地记录和管理监控数据,还需要能够方便地进行配置和调整。本文将讨论如何使用SQLite数据库来保存监控记录和配置信息,并介绍如何通过自动化机制将监控到的数据提交到指定网站。
150 2
|
5天前
|
SQL 关系型数据库 数据库
Python中SQLite数据库操作详解:利用sqlite3模块
【4月更文挑战第13天】在Python编程中,SQLite数据库是一个轻量级的关系型数据库管理系统,它包含在一个单一的文件内,不需要一个单独的服务器进程或操作系统级别的配置。由于其简单易用和高效性,SQLite经常作为应用程序的本地数据库解决方案。Python的内置sqlite3模块提供了与SQLite数据库交互的接口,使得在Python中操作SQLite数据库变得非常容易。
|
11天前
|
Java 测试技术 数据库
SpringBoot启动时设置不加载数据库
SpringBoot启动时设置不加载数据库
10 0
|
1月前
|
关系型数据库 数据库 C++
嵌入式数据库sqlite3【基础篇】基本命令操作,小白一看就懂(C/C++)
嵌入式数据库sqlite3【基础篇】基本命令操作,小白一看就懂(C/C++)
|
1月前
|
存储 SQL 数据库
django如何连接sqlite数据库?
django如何连接sqlite数据库?
38 0
|
2月前
|
SQL 数据库管理
sqlite语句order by两个字段同时排序处理
sqlite语句order by两个字段同时排序处理
19 0
|
2月前
|
SQL 关系型数据库 MySQL
Python中的数据库操作:SQLite与MySQL的连接
Python中的数据库操作:SQLite与MySQL的连接
114 0

热门文章

最新文章