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课堂微信公共平台
目录
相关文章
|
2月前
|
API 数据库 C语言
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
【C/C++ 数据库 sqlite3】SQLite C语言API返回值深入解析
175 0
|
2月前
|
DataWorks NoSQL 关系型数据库
DataWorks常见问题之鉴权数据库设置失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
1月前
|
关系型数据库 MySQL 数据库
mysql添加用户并设置数据库权限
mysql添加用户并设置数据库权限
|
3月前
|
存储 监控 安全
内网屏幕监控软件的数据存储与管理:使用SQLite数据库保存监控记录和配置信息
在当今数字化时代,安全和监控在企业和组织中变得至关重要。内网屏幕监控软件作为一种关键工具,帮助组织监视员工的活动并确保信息安全。这种软件不仅需要高效地记录和管理监控数据,还需要能够方便地进行配置和调整。本文将讨论如何使用SQLite数据库来保存监控记录和配置信息,并介绍如何通过自动化机制将监控到的数据提交到指定网站。
185 2
|
1天前
|
关系型数据库 MySQL 数据库
mysql 设置环境变量与未设置环境变量连接数据库的区别
设置与未设置MySQL环境变量在连接数据库时主要区别在于命令输入方式和系统便捷性。设置环境变量后,可直接使用`mysql -u 用户名 -p`命令连接,而无需指定完整路径,提升便利性和灵活性。未设置时,需输入完整路径如`C:\Program Files\MySQL\...`,操作繁琐且易错。为提高效率和减少错误,推荐安装后设置环境变量。[查看视频讲解](https://www.bilibili.com/video/BV1vH4y137HC/)。
17 3
mysql 设置环境变量与未设置环境变量连接数据库的区别
|
1天前
|
数据库 数据库管理 关系型数据库
|
13天前
|
运维 分布式计算 DataWorks
DataWorks产品使用合集之dataworks为子账号创建DataWorks访问密钥的基本步骤如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
28 0
|
13天前
|
DataWorks 安全 数据库
DataWorks产品使用合集之在DataWorks中,使用Power BI Desktop来连接Hologres数据库需要设置白名单如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
33 2
|
14天前
|
SQL 存储 Ubuntu
在ubuntu中将dict.txt导入到数据库sqlite3
这样,你就成功将 `dict.txt` 中的数据导入到名为 `mydatabase.db` 的SQLite3数据库中的 `words` 表格中了。请根据实际情况调整表格结构和数据导入命令。
18 0
|
25天前
|
SQL 数据库 数据库管理
Python数据库操作(SQLAlchemy、SQLite等)面试题集
【4月更文挑战第15天】本文介绍了Python数据库操作的面试重点,涵盖SQLAlchemy ORM和SQLite。内容包括:1) 使用SQLAlchemy定义SQLite表的Python类及执行CRUD操作,强调ORM使用和会话管理;2) 查询优化与性能,涉及JOIN、分组、聚合查询,并提醒注意懒加载和索引创建;3) 异常处理和事务管理,展示如何捕获异常并进行事务控制。通过理解这些知识点并避免常见错误,可在面试中表现出色。
24 0