cocos2d 引入jsoncpp 详解 (for android)

先下载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文件。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值