先下載下傳jsoncpp
再在cocos2d工程中Add一個新的Lib項目
建立一個Win32的控制台程式,放在cocos2d根目錄下,就是和cocos2dx平齊的一個目錄。名字可以随便取,我的叫libJson
(截圖中用的lib_Json,因為之前libJson已經建立了,為了截圖不得不取另一個名字...後面很多地方我都是假設自己建立的工程名是libJson,如圖照搬的同學就請注意一下這個細節吧)
點選OK後,next,然後出現一個選項面闆,選擇static library
finish以後,将程式自動生成的那些沒用的檔案删掉,然後打開下載下傳并解壓好的jsonCpp檔案夾,找到include檔案夾和src檔案夾,将它們拷貝到自己剛剛建立的libjson工程根目錄下,并導入到項目中
右鍵libJson,選擇properties,做出如下修改(其實我隻是完全按照cocos2d其他lib工程的properties做出修改。至于都改了什麼,我可能沒有列很全。如果大家修改完對應屬性以後,程式還是無法正常編譯,則可以手動右鍵一個cocos2d自己的lib工程,然後按照那個工程的屬性,對自己工程屬性進行一對一的修改)
修改C/C++ >>> General >>> Additional IncludeDirectories
添加include路徑:$(SolutionDir)libJson\include
以下的是我不知道應不應該改的東西,但是為了和cocos2d其他lib工程保持一緻,還是改掉了。
差不多就是以上的修改了
接下來就要開始寫這個lib的Android.mk檔案了
在libJson工程根目錄下,建立一個記事本,重命名為Android.mk
用EditPlus等工具打開該檔案,輸入如下内容
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libJson_static
LOCAL_MODULE_FILENAME := libJson
LOCAL_SRC_FILES := src\lib_json\json_value.cpp \
src\lib_json\json_reader.cpp \
src\lib_json\json_writer.cpp
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_CPPFLAGS += -fexceptions
include $(BUILD_STATIC_LIBRARY)
這個工程基本上就這樣了
接下來我們要修改需要引入jsonCpp的工程properties
右鍵自己的cocos2d項目,選擇properties >>>C/C++ >>> General
inlucde路徑裡添加 $(SolutionDir)libJson\include\json
然後是在Linker >>> Input中
Addtion Dependencies 添加 libJson.lib
如此以後,在需要用到json的地方隻要
#include "json.h"
就能使用json内的所有内容啦
但是這隻是在VC中能使用JsonCpp而已,如果要移植到android中,需要修改項目jni\Android.mk檔案
修改的語句如下
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../../libJson/include/json
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_staticlibJson_static
$(call import-module,libJson)
添加call那一句的時候,注意在它的上一行末尾加上“\”
如圖:
好了 編譯吧~~~大功告成了~~~~~~~~
補充:
libJson建完後記得編譯一次,讓它在cocos2d-2.0的debug.win32中生成一個.lib檔案。