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两个文件就可以了。
我们需要把这两个文件添加到工程中,具体过程是拷贝它们到工程中Classes目录,打开解决方案,如图所示,右键点击HelloWorld工程下Classes目录,在右键菜单中选择,“添加”→ “现有项”。然后,在弹出对话框中选择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文件。
Visual Studio下SQLite数据库开发环境设置的更多相关文章
- Cocos开发中Visual Studio下libcurl库开发环境设置
我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件 ...
- Cocos发育Visual Studio下一个HttpClient开发环境设置
Cocos2d-x 3.x相关类集成到网络通信libNetwork图书馆project于.这其中包括:HttpClient分类. 我们需要在Visual Studio溶液中加入libNetwork图书 ...
- Windows下visual studio code搭建golang开发环境
Windows下visual studio code搭建golang开发环境 序幕 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org),导致一些包无法安装 ...
- 使用Visual Studio Code搭建TypeScript开发环境
使用Visual Studio Code搭建TypeScript开发环境 1.TypeScript是干什么的 ? TypeScript是由微软Anders Hejlsberg(安德斯·海尔斯伯格,也是 ...
- visual studio 2015 搭建python开发环境,python入门到精通[三]
在上一篇博客Windows搭建python开发环境,python入门到精通[一]很多园友提到希望使用visual studio 2013/visual studio 2015 python做demo, ...
- 如何搭建Visual Studio的内核编程开发环境
最近正在看<寒江独钓——Windows内核安全编程>这本书,感觉这本书非常好,有兴趣的朋友可以买来看看,有关这本书的信息请参考:http://www.china-pub.com/19559 ...
- Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境
Windows系统 为 Visual Studio软件 搭建 OpenCV2 开发环境 我们的电脑系统:Windows 10 64位 Visual Studio 软件:Visual Studio 20 ...
- Visual Studio Code配置GoLang开发环境
Visual Studio Code配置GoLang开发环境 在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页: ...
- Visual Studio 2017进行Python开发环境的搭建,使用VS2017进行python代码的编写。
Visual Studio 2017进行Python开发环境的搭建,使用VS2017进行python代码的编写. 前提:已经安装过VS2017且进行过配置. 第一部分: Python环境的搭建: 建议 ...
随机推荐
- Cocos2d-x——CocosBuilder官方帮助文档翻译2 多分辨率支持
Working with Multiple Resolutions 多分辨率设置 A common scenario when creating apps or games is to target ...
- 教你50招提升ASP.NET性能(十七):不要认为问题只会从业务层产生
(28)Don’t assume that problems can only arise from business logic 招数28: 不要认为问题只会从业务层产生 When beginnin ...
- 中国软件开发project师之痛
在最近的一次会议上,有高层谈到之前在中国觉得自己做得非常牛,但与美国同行接触后却发现与人家存在非常大的差距,这一点我在外企工作时也有过相同的体会.真正与外国同行接触后才会知道什么是差距,在这篇文章中我 ...
- iOS开发——UI_swift篇&TableView自定义聊天界面
TableView自定义聊天界面 1,下面是一个放微信聊天界面的消息展示列表,实现的功能有: (1)消息可以是文本消息也可以是图片消息 (2)消息背景为气泡状图片,同时消息气泡可根据内容自适应大小 ...
- ios开发——实用技术篇Swift篇&系统声音
系统声音 // MARK: - 系统声音 /*----- 系统声音 ------*/ @IBAction func systemSound() { //建立的SystemSoundID对象 var s ...
- MySQL 5.7 新特性大全和未来展望 图解
本文转自微信公众号:高可用架构 作者:杨尚刚 引用 美图公司数据库高级 DBA,负责美图后端数据存储平台建设和架构设计.前新浪高级数据库工程师,负责新浪微博核心数据库架构改造优化,以及数据库相关的服务 ...
- divide-conquer-combine(4.1 from the introduction to algorithm)
this example is from chapter 4 in <the introduction to algorithm> the main idea is all showed ...
- SCI&EI 英文PAPER投稿经验【转】
英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时 ...
- App安全之网络传输安全
移动端App安全如果按CS结构来划分的话,主要涉及客户端本身数据安全,Client到Server网络传输的安全,客户端本身安全又包括代码安全和数据存储安全.所以当我们谈论App安全问题的时候一般来说在 ...
- cocos2d-x中使用sqlite
在单机游戏中有几十个场景道具,每一个都有各自的状态(获得.未获得.获得个数)等等,如果在游戏中平凡涉及到这些道具的实时存储,那么使用文本就会稍慢.可以使用sqlite数据库来完成. 下载地址:http ...