zoukankan      html  css  js  c++  java
  • 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文件添加到工程中。

    添加sqlite3.c和sqlite3.h文件到工程



    2、使用Cocos2d-x提供的库文件
    由于Cocos2d-x引擎其实已经带有为Win32下访问SQLite所需要的库,Cocos2d-x 3.x中SQLite库文件所在位置是<工程目录>cocos2dexternalsqlite3librarieswin32目录中,头文件在<工程目录>cocos2dexternalsqlite3include目录中。我们可以直接使用。
    这种方式的优点是,可以直接使用Cocos2d-x引擎为开发者编译好的库文件,版本兼容性好。缺点是,配置开发环境比较麻烦,而且移植到其它平台时Win32库文件是不能使用的,我们需要重新配置环境。下面我们就详细介绍一下这种方式。
    首先,我们需要配置头文件搜索路径,选中HelloWorld工程,打开菜单“项目”→ “属性”弹出工程属性对话框,如下图所示,选择“配置属性”→“C++” →“常规”,在右边的“附加包含目录”中添加$(EngineRoot)externalsqlite3include,注意配置目之间需要用分号分隔开。

    配置头文件搜索路径

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

    配置链接环境



    接下来我们还需要将SQLite3的库文件拷贝到运行环境中,最简单的方式是手工将<工程目录>cocos2dexternalsqlite3librarieswin32目录中的sqlite3.dll和sqlite3.lib文件拷贝到可执行文件所在目录下,如:<工程目录>proj.win32Debug.win32目录。然后,编译工程就可以了,但是如果我们清除了Debug.win32目录,这两个文件就会丢失。为了防止这种情况,我们可以在工程编译的时候,设置编译事件,我们可以在这个事件中定义拷贝过程。打开工程属性对话框,如下图所示,选择“配置属性”→“生成事件” →“预链接事件”,修改右边窗口的“命令行”,内容如下:
    if not exist "$(OutDir)" mkdir "$(OutDir)"
    xcopy /Y /Q "$(EngineRoot)externalwebsocketsprebuiltwin32*.*" "$(OutDir)"
    xcopy /Y /Q "$(EngineRoot)externalsqlite3librarieswin32*.*" "$(OutDir)"
    其中后面一行是我们追加的,原来工程模板只设置了拷贝websockets。这个会在我们工程编译的时候将$(EngineRoot)externalsqlite3librarieswin32目录下的所有文件拷贝到输出目录,其中$(EngineRoot)宏代表<工程目录>cocos2d目录,$(OutDir)宏是可执行文件的生成目录,这里代表<工程目录>proj.win32Debug.win32目录。

     配置编译事件

    我们试着编译一下工程,或者重新生成解决方案,看看在可执行文件的生成目录下是否包含库文件sqlite3.dll和sqlite3.lib文件。

    更多内容请关注国内第一本Cocos2d-x 3.2版本图书《Cocos2d-x实战:C++卷》
    本书交流讨论网站:http://www.cocoagame.net
    更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com
    欢迎加入Cocos2d-x技术讨论群:257760386
    欢迎关注智捷iOS课堂微信公共平台

  • 相关阅读:
    Leetcode Unique Binary Search Trees
    Leetcode Decode Ways
    Leetcode Range Sum Query 2D
    Leetcode Range Sum Query
    Leetcode Swap Nodes in Pairs
    Leetcode Rotate Image
    Leetcode Game of Life
    Leetcode Set Matrix Zeroes
    Leetcode Linked List Cycle II
    CF1321A
  • 原文地址:https://www.cnblogs.com/iOS-Blog/p/4044048.html
Copyright © 2011-2022 走看看