mac下cocos2dx(带jsoncpp第三方库)编译为android项目心得

在mac下好不容写完了游戏,本以为轻轻松松就能编译为android项目,想不到弄了将近1整天才将问题解决


首先不带jsoncpp的编译方式请参考:http://www.bold-it.com/ios/cocos2d-x-box2d-iosandroid-hybrid-tutorial/

带jsoncpp第三方库的参考了http://blog.csdn.net/sniffer12345/article/details/7336732,对作者表示感谢。


我使用的是正常的jsoncpp版本,在jsoncpp文件夹内新建个Android.mk,内容为

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE    := jsoncpp_static

LOCAL_MODULE_FILENAME := libjsoncpp

LOCAL_CPPFLAGS :=  -fexceptions  

LOCAL_SRC_FILES := src/lib_json/json_internalarray.inl \
src/lib_json/json_internalmap.inl \
src/lib_json/json_valueiterator.inl \
src/lib_json/json_reader.cpp \
src/lib_json/json_value.cpp \
src/lib_json/json_writer.cpp 


LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/..

LOCAL_C_INCLUDES := $(LOCAL_PATH)/..\
						$(LOCAL_PATH)/include   \
						$(LOCAL_PATH)/src/lib_json  
					    
include $(BUILD_STATIC_LIBRARY)

然后需要在proj.android/jni/Android.mk中修改配置,具体配置如下
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := game_shared

LOCAL_MODULE_FILENAME := libgame

LOCAL_SRC_FILES := hellocpp/main.cpp \
                   ../../Classes/AppDelegate.cpp \
				   ../../Classes/BaseSprite.cpp\
				   ../../Classes/GameLayer.cpp \
				   ../../Classes/GameMenu.cpp \
				    ../../Classes/GameScene.cpp \
					../../Classes/JsonUtils.cpp \
					../../Classes/LevelLayer.cpp \
					../../Classes/LevelManager.cpp \
					../../Classes/OptionScene.cpp \
					../../Classes/SpriteFactory.cpp \
					../../Classes/WelcomeLayer.cpp
                   
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \
$(LOCAL_PATH)/../../libs/Box2d\
$(LOCAL_PATH)/../../libs/jsoncpp/include/json/                

LOCAL_WHOLE_STATIC_LIBRARIES := jsoncpp_static cocosdenshion_static 
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static


include $(BUILD_SHARED_LIBRARY)

$(call import-module,jsoncpp)  \
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions) \
$(call import-module,Box2D) 

如果还是发生错误请参考第一个链接中的配置方式(非常重要)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值