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
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
相关文章推荐
- XCode4编译与发布cocos2d工程,到最后出现这个问题的解决方案
- android游戏开发框架libgdx的使用(二十一)—使用TTF字库支持中文
- cocos2d-x 游戏暂停界面,监听home键,返回键,Menu键 解决方案
- PC版本游戏--cocos2d-x中文乱码解决办法(GBK到UTF-8编码)及其fatal error: iconv\iconv.h: No such file or directory问题
- Torque游戏引擎TGE/TGB中文输入的问题解决方案(含代码下载)
- 使用SpriteBuilder制作Cocos2D游戏完全中文教程(三)
- cocos2d-x 中文乱码问题解决方案
- 【Cocos2d-x游戏引擎开发笔记(26)】中文和自定义字体
- 使用SpriteBuilder制作Cocos2D游戏完全中文教程(一)
- cocos2d-x游戏中文乱码
- cocos2d-x 游戏暂停界面,监听home键,返回键,Menu键 解决方案
- Cocos2d-x学习(十九):iOS6中无法正常游戏横屏的解决方案
- eclipse环境import工程出现中文乱码问题的解决方案
- cocos2d-x支持中文解决方案(跨平台)
- XCode4编译与发布cocos2d工程,到最后出现这个问题的解决方案
- cocos2d 从v1更新到v2安装文件、工程模板时遇到 Permission Denied 的解决方案
- cocos2d-x 游戏暂停界面,监听home键,返回键,Menu键 解决方案
- [置顶]cocos2d-x 中文显示问题的解决方案 (自己封装一个类一次编写终身无忧)
- 使用SpriteBuilder制作Cocos2D游戏完全中文教程(二)