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

准备条件:

1、JDK7(一般都自带JRE7了)以及JRE7

2、VS2013(如果想要在PC上运行的话,需要安装)。

3、NDK-r9(注意32位和64位)。

4、Eclipse

5、AndroidSDK以及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:=$(callmy-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_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_static

LOCAL_WHOLE_STATIC_LIBRARIES+=cocosdenshion_static

LOCAL_WHOLE_STATIC_LIBRARIES+=Box2d_static

LOCAL_WHOLE_STATIC_LIBRARIES+=chipmunk_static

LOCAL_WHOLE_STATIC_LIBRARIES+=cocos_extension_static

LOCAL_WHOLE_STATIC_LIBRARIES+=iconv_static

include$(BUILD_SHARED_LIBRARY)

$(callimport-add-path,D:/cocos2d-x-2.2.5)

$(callimport-module,cocos2dx)

Box2D)

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

wKioL1RjZH-ymPq4AAJ3WzlALsY418.jpg

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

wKiom1RjZBPTDJKOAAN7FNmevjo589.jpg

这里主要是对main标签作配置,其它标签可忽略或者根据你的喜好配置一下也行,我觉得没什么影响。

再接着,把C/C++Builder修改一下,如图7-3

wKioL1RjZICARRbbAAQ9moqes9E827.jpg

第八步:如果你的环境没有配置好的话,是不能顺利编译的。请检查你的NDK环境变量、Cocos2d-x环境变量以及Cygwi\home\用户名下的.bash_profile文件修改,主要是添加两行代码

NDK_ROOT=/cygdrive/d/eclipse-java-indigo-win32/eclipse/android-ndk-r9

exportNDK_ROOT

上面的NDK_ROOT名字可自己取名,使用时名字一致即可。

第九步:Clean工程,等待编译出错吧!呵呵。因为每个人的实际环境不太一样,出错总是难免的,遇到错误不用着急,根据错误信息解决问题即可。其中印象最深的是报std一个成员函数不可用,只要加个头文件就行,名字记不全了,是一个运算头文件,大家遇到错误的时候百度即可。

第十步:编译完成后,导出APK,完工!

如有疑问可联系QQ250215260

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...