pomelo+cocos2dx+vs2012 win32编译 android编译

操作方法

  • 01

    今天想分享一下在学习cocos2dx的过程当中,由于通信的服务器是选择了基于Node.js 的pomelo的开源的游戏服务器,然而这个开源的服务器封装了自己的通信协议,如果想要写一个跨平台的客户端的话,首先你要封装底层的linux,window,ios的通信框架之外,还要写一个json的解析集合,然后在封装与服务器的协议。对于小公司来说这个是何其的麻烦,为了便捷考虑,决定利用与pomelo提供的一个开源的libpomelo(C语言)的客户端,然后编译到cocos当中。虽然说官方有相关的方法,但是不是很明确。本人在配置过程中也是搜寻了其他大神的各种经验,然后终于配置成功了。下面就是相关的步骤。

  • 02

    环境要求:cocos2d-x          vs2012      libpomelo( PS官方下载的libpomelo的名称是libpomelo_master,建议修改为libpomelo,否则后面的过程,特别是android 编译的时候会出错)

  • 03

    首先来说明在利用上述的软件在window上运行。假设你已经安装了vs2012,然后已经创建了cocos2dx的工程了,然后已经下载了libpomelo_master(记得修改名字) 解压到 cocos2d-x-2.2.3\cocos2dx\platform\third_party\win32   。

  • 04

    接着进入到libpomelo的文件夹内,打开libpomelo的工程到vs2012 然后点击libpomelo生成,将会在cocos2d-x-2.2.3\cocos2dx\platform\third_party\win32\libpomelo-master\Default\lib   中生成三个lib库(jansson.lib,libpomelo.lib,libuv.lib)。

  • 05

    紧接着打开你已经生成好的cocos项目(当然也vs2012)然后在解决方案那里点击‘添加’-》‘现有项目’-》 y依次把libpomelo.vcxproj,/dep/jansson/jansson.vcxproj,/dep/uv/libuv.vcxproj 添加到项目中。

  • 06

    然后点击你生成的项目‘属性’-》‘C/C++’ -》‘常规’-》‘附加包含目录’添加cocos2d-x-2.2.3\cocos2dx\platform\third_party\win32\libpomelo-master\include,cocos2d-x-2.2.3\cocos2dx\platform\third_party\win32\libpomelo-master\deps\jansson\src,cocos2d-x-2.2.3\cocos2dx\platform\third_party\win32\libpomelo-master\deps\uv\include(三个项目的头文件的目录)。

  • 07

    再接着‘属性’-》‘链接器’-》‘常规’-》‘附加库目录’把生成的三个库添加到路径中(也就是刚才说的lib的路径,cocos2d-x-2.2.3\cocos2dx\platform\third_party\win32\libpomelo-master\Default\lib )

  • 08

    再接着‘属性’-》‘链接器’-》‘输入’-》‘附加依赖项’ 添加jansson.lib,libpomelo.lib,libuv.lib

  • 09

    到现在基本上就ok了,但是在利用的时候需要注意一下在你的网络的主文件中包含下面的相关代码,不如就会出现libuv的编译错误#pragma comment(lib,"ws2_32.lib")#pragma comment(lib, "libuv.lib")#pragma comment(lib, "IPHLPAPI.lib")#pragma comment(lib, "Psapi.lib")

  • 10

    好的现在你就可以编译了,就可以利用libpomelo提供的东西了,希望对你有用。

  • 11

    下面我们来说说如何编译可在android上面使用的cocos2d+libpomelo

  • 12

    在上面已经生成的基础上,我们来测试官放提供的一个客户端pomelo-cocos2dchat-master。

  • 13

    需要将我们下载下来的libpomelo_master解压到cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt。然后修改libpomelo_master 为libpomelo。

  • 14

    首先下载pomelo-cocos2dchat-master,然后解压出来(没有什么特殊的位置)

  • 15

    然后将pomelo-cocos2dchat-master\Classes 下的文件复制到你的项目的Classes文件夹下(记得要在利用pomelo.h的文件中添加#pragma comment(lib,"ws2_32.lib")#pragma comment(lib, "libuv.lib")#pragma comment(lib, "IPHLPAPI.lib")#pragma comment(lib, "Psapi.lib")),把pomelo-cocos2dchat-master\Resources 下的资源复制到你的项目的Resources下,然后用pomelo-cocos2dchat-master\Android.mk 替换你的项目下面的proj.android\jni\Android.mk。

  • 16

    接着修改你的项目下的proj.android\jni\Application.mk 成为APP_STL := gnustl_staticAPP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -DCOCOS2D_DEBUG=1APP_PLATFORM := android-9  // android的平台APP_ABI := armeabi armeabi-v7a x86 // 各种cpu类型

  • 17

    上面的准备工作做好了,接着下载adt-bundle-windows-x86-20140321,android-ndk-r9d,cygwin2.738(ba版本不一定要和我一样)。接着安装cygwin,建议安装全部的组件。

  • 18

    接着进入到cygwin bash shell,然后vim .bash_profile 到文件最末,添加NDK_ROOT=/cygdrive/...你的NDK的根目录的路径( PS:在cygwin下的路径)。如果报NDK_MODULE_PATH的错误的话,还可以添加NDK_MODULE_PATH=/cygdrive/...cocos的路径:/cygdrive/...cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt:( PS:在cygwin下的路径,多个路径用‘:’分开)

  • 19

    基本上的工作就结束了,然后进入到你的项目的proj.android/ 下,执行sh build_native.sh 或者是./build_native.sh(本质上是执行ndk-build命令)。等命令执行完了就生成了基本的android的项目了。

  • 20

    接着打开你adt-bundle-windows-x86-20140321 创建android项目,(PS:记得在创建项目的时候,选择‘以现有的android代码创建:我是翻译过来的’,也就是说选择刚才生成的proj.android的代码来创建android项目就行了,可能还是需要配置一下NDK_root的路径,这个到 ‘ window ’ -》‘C/C++’-》‘build’-》‘Environment’-》‘添加NDK_ROOT变量,值为NDK的window下的路径’)。

  • 21

    OK,基本上所有的工作就完成了,直接运行你的android项目就行了,希望你能成功,相信你也能成功

(0)

相关推荐

  • 中端技术系列教程第二讲——反编译、编译和签名

    以下是为大家介绍的<中端技术系列教程第二讲--反编译.编译和签名>详细内容,希望对大家有所帮助! №.1  反编译 01 1.反编译:高级语言源程序经过"编译"变成可执 ...

  • 安卓ROM定制:[8]系统APK的反编译和编译

    系统APK的反编译和编译 操作方法 01 首先反编译工具是必须的,下载反编译工具 02 解压工具 03 编译非系统apk前需要把APK命名为123.apk 04 反编译系统apk时需要将Rom的fra ...

  • APK+Dex文件反编译及回编译工具(APKDB)安装经验

    APKDB是一款,针对Android OS系统的APK程序,直接反编译修改的工具.其实,本工具是一个工具集合箱,直接在[鼠标右键]创建快捷菜单:非常方便汉化工作者,对APK或Dex文件进行简易的反编译 ...

  • Linux下如何用GCC编译动态库

    本文主要解决以下几个问题 1 为什么要使用库? 2 库的分类 3 创建自己的库 或许大家对自己初学 Linux时的情形仍记忆尤新吧。如果没有一个能较好的解决依赖关系的包管理器,在Linux下安装软件将 ...

  • MIT app inventor新建项目编译项目教程

    MIT app inventor登录上之后新建项目,编译项目教程. 操作方法 01 点击start new project新建一个工程,起一个名字.如下图. 02 新建好的工程,然后打开如下图,说明工 ...

  • 易语言如何生成exe?易语言如何编译

    易语言是一款全中文可视化编程软件,非常的好用方便,易学易懂,现在已经有非常多的人在使用易语言了,我们写好的软件该怎么编译生成exe文件呢 操作方法 01 首先打开易语言,编写好程序代码,或者打开一份已 ...

  • idea如何重新编译项目

    idea工具可以用于多种语言来开发项目,如果是像java这样需要编译之后运行的编程语言,每次在运行项目之前都需要对源码进行编译.一般的情况下都是idea自动判断修改的文件然后自动编译,但有时候我们需要 ...

  • 如何制作《已编译的HTML帮助文件》

    如何制作<已编译的HTML帮助文件> 操作方法 01 安装好Html Help Workshop,需要重新启动一次才可以运行.运行后,单击菜单或工具栏中的"新建(New)&quo ...

  • 使用Ant搭建Android开发环境入门

    配置Ant环境 下载Ant:http://ant.apache.org/bindownload.cgi 在windows上应该选择zip压缩包,将zip压缩包解压到一个目录。 打开系统环境变量,在系统 ...