標籤:blog http io os ar 使用 sp 檔案 資料
由於我們介紹的內容都是基於微軟的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庫檔案所在位置是<工程目錄>\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檔案。
更多內容請關注國內第一本Cocos2d-x 3.2版本圖書《Cocos2d-x實戰:C++卷》本書交流討論網站:http://www.cocoagame.net
更多精彩視頻課程請關注智捷課堂Cocos課程:http://v.51work6.com歡迎加入Cocos2d-x技術討論群:257760386歡迎關注智捷iOS課堂公用平台
Visual Studio下SQLite資料庫開發環境設定