Visual Studio下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两个文件就能够了。


 我们须要把这两个文件加入到project中,详细过程是拷贝它们到project中Classes文件夹,打开解决方式。如图所看到的,右键点击HelloWorldproject下Classes文件夹。在右键菜单中选择。“加入”→ “现有项”。然后。在弹出对话框中选择sqlite3.c和sqlite3.h文件加入到project中。




加入sqlite3.c和sqlite3.h文件到project


2、使用Cocos2d-x提供的库文件
因为Cocos2d-x引擎事实上已经带有为Win32下訪问SQLite所须要的库,Cocos2d-x 3.x中SQLite库文件所在位置是<project文件夹>cocos2dexternalsqlite3librarieswin32文件夹中,头文件在<project文件夹>cocos2dexternalsqlite3include文件夹中。我们能够直接使用。
这样的方式的长处是。能够直接使用Cocos2d-x引擎为开发人员编译好的库文件,版本号兼容性好。缺点是。配置开发环境比較麻烦。并且移植到其它平台时Win32库文件是不能使用的,我们须要又一次配置环境。以下我们就详细介绍一下这样的方式。


首先,我们须要配置头文件搜索路径,选中HelloWorldproject,打开菜单“项目”→ “属性”弹出project属性对话框,例如以下图所看到的。选择“配置属性”→“C++” →“常规”,在右边的“附加包括文件夹”中加入$(EngineRoot)externalsqlite3include,注意配置目之间须要用分号分隔开。


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


配置链接环境


接下来我们还须要将SQLite3的库文件复制到运行环境中,最简单的方式是手工将<project文件夹>cocos2dexternalsqlite3librarieswin32文件夹中的sqlite3.dll和sqlite3.lib文件复制到可运行文件所在文件夹下。如:<project文件夹>proj.win32Debug.win32文件夹。

然后,编译project就能够了,可是假设我们清除了Debug.win32文件夹,这两个文件就会丢失。为了防止这样的情况。我们能够在project编译的时候。设置编译事件。我们能够在这个事件中定义拷贝过程。打开project属性对话框,例如以下图所看到的,选择“配置属性”→“生成事件” →“预链接事件”,改动右边窗体的“命令行”,内容例如以下:
if not exist "$(OutDir)" mkdir "$(OutDir)"
xcopy /Y /Q "$(EngineRoot)externalwebsocketsprebuiltwin32*.*" "$(OutDir)"
xcopy /Y /Q "$(EngineRoot)externalsqlite3librarieswin32*.*" "$(OutDir)"
当中后面一行是我们追加的,原来project模板仅仅设置了拷贝websockets。这个会在我们project编译的时候将$(EngineRoot)externalsqlite3librarieswin32文件夹下的全部文件复制到输出文件夹。当中$(EngineRoot)宏代表<project文件夹>cocos2d文件夹,$(OutDir)宏是可运行文件的生成文件夹,这里代表<project文件夹>proj.win32Debug.win32文件夹。




 配置编译事件

我们试着编译一下project,或者又一次生成解决方式。看看在可运行文件的生成文件夹下是否包括库文件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课堂微信公共平台

原文地址:https://www.cnblogs.com/gcczhongduan/p/5263615.html