您的位置:首页 > 移动开发 > Cocos引擎

Cocos2d-x游戏工程中文字库的解决方案

2014-11-12 21:48 316 查看
准备条件:
1、JDK7(一般都自带JRE7了)以及JRE7。2、VS 2013(如果想要在PC上运行的话,需要安装)。3、NDK-r9(注意32位和64位)。4、Eclipse。5、Android SDK以及ADT插件。6、Cygwin(最好是最新版)。7、Python2.7。8、Cocos2d-x-2.2.5。9、一个cocos2d-x游戏项目(airplaneward.rar这个源码不能给)。10、Iconv字库(见附件iconv.rar,附件超过2M了,不能上传,有需要的朋友Q我)。

第一步:将airplaneward.rar解压到Cocos2d-x-2.2.5/projects目录下。第二步:将iconv.rar解压到Cocos2d-x-2.2.5目录下。第三步:新建Android.mk文件到解压后的iconv中,代码如下:LOCAL_PATH:= $(call my-dir) #libiconv.so include $(CLEAR_VARS) LOCAL_MODULE := iconv_static LOCAL_MODULE_FILENAME := libiconv LOCAL_CFLAGS := -Wno-multichar \ -DAndroid \ -DLIBDIR="c" \ -DBUILDING_LIBICONV \ -DIN_LIBRARY LOCAL_SRC_FILES := libcharset/lib/localcharset.c \ lib/iconv.c \ lib/relocatable.c LOCAL_C_INCLUDES += $(LOCAL_PATH)/include \ $(LOCAL_PATH)/libcharset \ $(LOCAL_PATH)/lib \ $(LOCAL_PATH)/libcharset/include \ $(LOCAL_PATH)/srclib include $(BUILD_STATIC_LIBRARY)

第四步:打开Eclipse,导入依赖工程:cocos2d-x-2.2.5\cocos2dx\platform\android\java。第五步:将airplaneward目录下的android工程导入。第六步:修改jni中的Android.mk,如下:。LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := cocos2dcpp_shared LOCAL_MODULE_FILENAME := libcocos2dcpp LOCAL_SRC_FILES := hellocpp/main.cpp \ ../../Classes/AppDelegate.cpp \ ../../Classes/HelloWorldScene.cpp\ ../../Classes/airplane.cpp\ ../../Classes/bullet.cpp\ ../../Classes/bomb.cpp\ ../../Classes/addPlane.cpp\ ../../Classes/prop.cpp\ ../../Classes/popupDialog.cpp\ ../../Classes/LogIn.cpp\ ../../Classes/gameover.cpp LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../Classes\
LOCAL_C_INCLUDES += \$(LOCAL_PATH)/../../../../iconv/include \$(LOCAL_PATH)/../../../../iconv/libcharset \$(LOCAL_PATH)/../../../../iconv/lib \$(LOCAL_PATH)/../../../../iconv/libcharset/include \$(LOCAL_PATH)/../../../../iconv/srclib \$(LOCAL_PATH)/../../../../iconv
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_staticLOCAL_WHOLE_STATIC_LIBRARIES += box2d_staticLOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_staticLOCAL_WHOLE_STATIC_LIBRARIES += iconv_static include $(BUILD_SHARED_LIBRARY)$(call import-add-path,D:/cocos2d-x-2.2.5)$(call import-add-path,D:/cocos2d-x-2.2.5/cocos2dx/platform/third_party/android/prebuilt) $(call import-module,cocos2dx)$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)$(call import-module,CocosDenshion/android)$(call import-module,extensions)$(call import-module,external/Box2D)$(call import-module,external/chipmunk)$(call import-module,iconv)

第七步:配置工程中的参数。右键工程-->Properties-->Buliders-->选择右边窗口中的New_Builder,如图7-1(实际情况还得根据你导入的游戏工程):


双击这个“New_Bulider”,参考图7-2中的配置:


这里主要是对main标签作配置,其它标签可忽略或者根据你的喜好配置一下也行,我觉得没什么影响。再接着,把C/C++ Builder也修改一下,如图7-3:


第八步:如果你的环境没有配置好的话,是不能顺利编译的。请检查你的NDK环境变量、Cocos2d-x环境变量以及Cygwi\home\用户名下的.bash_profile文件的修改,主要是添加两行代码:NDK_ROOT=/cygdrive/d/eclipse-java-indigo-win32/eclipse/android-ndk-r9export NDK_ROOT上面的NDK_ROOT名字可自己取名,使用时名字一致即可。 第九步:Clean工程,等待编译出错吧!呵呵。因为每个人的实际环境不太一样,出错总是难免的,遇到错误不用着急,根据错误信息解决问题即可。其中印象最深的是报std有一个成员函数不可用,只要加个头文件就行,名字记不全了,是一个运算头文件,大家遇到错误的时候百度即可。 第十步:编译完成后,导出APK,完工! 如有疑问可联系QQ:250215260
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息