cocos2dx 3.6 引入sqlite3数据库模块

前端之家收集整理的这篇文章主要介绍了cocos2dx 3.6 引入sqlite3数据库模块前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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文件中的相关输出函数调用。具体原理有待进一步分析

猜你在找的Cocos2d-x相关文章