您的位置:首页 > 移动开发 > Cocos引擎

cocos2dx 3.6 引入sqlite3数据库模块

2015-08-25 15:42 411 查看
cocos2dx 3.6 引入sqlite3数据库模块

cocos版本:v2.3.2Beta

cocos2dx版本:v3.6版

之前使用2.2.6版本的cocos2dx,有使用sqlite的需求,实现方式是直接到sqlite官网下载“sqlite3.h”和“sqlite3.c”两个文件,并将源文件拷贝到工程的class文件夹中,在工程中直接#include “sqlite3.h”进行引用。

升级到cocos2dx引擎的后,随着对cocos2dx引擎了解的深入,发现cocos2dx引擎中已经集成了sqlite3模块。具体目录在C:\Cocos\frameworks\cocos2d-x-3.6\external\sqlite3。直接引入调用sqlite数据库的代码。

#include "cocos2d.h"
#include "sqlite3.h"
USING_NS_CC;

class DatabaseOperate
{
public:

bool OpenDataBase(char * name);  //打开一个数据库
bool CreateTable(char * name, char * tableStruct);  //创建表
bool IsTableExit(char * name);  //判断表是否存在
void CloseDataBase(); //关闭数据库
int GetTableDataCounter(char* tableName);//获取表格中数据的个数
protected:
sqlite3 *m_pdb;

};


提示:#include "sqlite3.h" 语句错误无法找到sqlite3.h文件。分析是该h文件没在工程的include目录中导致的.于是执行以下操作:

右键工程->属性->配置属性->C/C++ ->常规->附加包含目录中增加以下目录

C:\Cocos\frameworks\cocos2d-x-3.6\external\sqlite3\include

再重新进行编译则编译成功。

备注:

1、cocos生成的VS项目工程中,并没有将C:\Cocos\frameworks\cocos2d-x-3.6\external\第三方模块都加入到工程的include目录中,至加入了少数的几个,开发者引入第三方库时,需要自己手动加入。

2、由于“C:\Cocos\frameworks\cocos2d-x-3.6\external”,已经加入到了工程的include目录中,曾尝试将include代码写成#include "sqlite3/include/sqlite3.h",该处理方法可以使工程成功通过编译,但在链接sqlite3.lib时会出现错误,错误编号为LNK2019。

推测原因应该是include中的文件路径扰乱和lib文件中的相关输出函数的调用。具体原理有待进一步分析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: