Windows平台

操作系统:Windows7(64-bit)

VS版本号:2013

Cocos2d-x版本号:3.0

project路径:E:\cocos2d-prj\

1.从github下载libpomelo代码

E:\cocos2d-prj\cocos2d\external> git clone https://github.com/NetEase/libpomelo.git

2.创建libpomelo的VSproject

E:\cocos2d-prj\cocos2d\external>cd libpomelo
E:\cocos2d-prj\cocos2d\external\libpomelo>mkdir build
E:\cocos2d-prj\cocos2d\external\libpomelo>git clone https://github.com/martine/gyp.git build/gyp
E:\cocos2d-prj\cocos2d\external\libpomelo>build\gyp\gyp.bat --depth=. pomelo.gyp -Dlibrary=static_library -DTO=pc


假设遇到报错(一个VS版本号问题)

改动E:\snake\code\client\libpomelo\build\gyp\pylib\gyp\MSVSVersion.py文件第188行

return versions[str(name)]

改为

return versions[“2010”]

改动后继续运行脚本

E:\cocos2d-prj\cocos2d\external\libpomelo>build\gyp\gyp.bat --depth=. pomelo.gyp -Dlibrary=static_library -DTO=pc 

3.创建libuv的VSproject(运行E:\cocos2d-prj\libpomelo\deps\uv\vcbuild.bat脚本就可以)

E:\cocos2d-prj\cocos2d\external>cd libpomelo\deps\uv
E:\cocos2d-prj\cocos2d\external\libpomelo\deps\uv>vcbuild.bat

4.打开cocos2dproject。将下列vs项目增加project(add existing project)

E:\cocos2d-prj\cocos2d\external\libpomelo\libpomelo.vcxproj
E:\cocos2d-prj\cocos2d\external\libpomelo\deps\jansson\jansson.vcxproj
E:\cocos2d-prj\cocos2d\external\libpomelo\deps\uv\libuv.vcxproj

5.改动project版本号

vs中右键上述project。选择菜单 Upgrade VC++ Compiler and Libraries

6.加入project依赖

在cocos2d-prjproject上邮件,选择 属性 菜单项,将上述三个project加入为依赖,例如以下图

7.加入Include

8.加入系统lib引用Psapi.lib;Iphlpapi.lib;。例如以下图

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY3RiaW56aQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

Android平台

操作系统:Windows7(64-bit)

NDK版本号:r9d (64-bit)

Cocos2d-x版本号:3.0

project路径:E:\cocos2d-prj\

Android平台相对简单,仅仅要改动E:\cocos2d-prj\proj.android\jni\Android.mk文件就能够了。总共三处例如以下图

IOS平台

操作系统:MAC MINI

XCODE版本号:3.1.1

iphonesimulator : 6.1

Cocos2d-x版本号:3.0

Python : 2.7

gyp工具

1.创建xcodeproject,运行下面命令
cd pomelo
gyp --depth=. pomelo.gyp -Dlibrary=static_library -DTO=ios
cd deps/uv
gyp --depth=. uv.gyp -Dlibrary=static_library -DTO=ios
cd ../jansson
gyp --depth=. jansson.gyp -Dlibrary=static_library -DTO=ios

2.生成静态库

cd pomelo

xcodebuild -project deps/jansson/jansson.xcodeproj
xcodebuild -project deps/uv/uv.xcodeproj
xcodebuild -project pomelo.xcodeproj xcodebuild -project deps/jansson/jansson.xcodeproj -sdk iphonesimulator6.1 -arch i386
xcodebuild -project deps/uv/uv.xcodeproj -sdk iphonesimulator6.1 -arch i386
xcodebuild -project pomelo.xcodeproj -sdk iphonesimulator6.1 -arch i386

3.用lipo把两个打包在一起

cd pomelo

lipo -create ./build/Default-iphoneos/libpomelo.a  ./build/Default-iphonesimulator/libpomelo.a  -output libpomelo.a
lipo -create ./deps/jansson/build/Default-iphoneos/libjansson.a ./deps/jansson/build/Default-iphonesimulator/libjansson.a -output libjansson.a
lipo -create ./deps/uv/build/Default-iphoneos/libuv.a ./deps/uv/build/Default-iphonesimulator/libuv.a -output libuv.a

4.改动xcodeproject


在xcode中打开cocos2d-x 项目,在项目target “Build Phases"将生成的3个 .a 静态库文件增加到 "Link Binary With Libraries" 里。

在"Build Settings" 的 “Header Search Paths” 里增加三个文件夹:

libpomelo/include

libpomelo/deps/jansson/src

libpomelo/deps/uv/include

注意文件夹的绝对和相对位置

这样就能够同一时候在真机和模拟器里调用libpomelo静态库了。


版权声明:本文博客原创文章,博客,未经同意,不得转载。

教你pomeloclient包libpomelo增加cocos2d-x 3.0工程(Windows、Android、IOS平台)的更多相关文章

  1. 包建强的培训课程(1):Android App企业级开发

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  2. FreeBSD的新一代包管理工具Pkg 1.3.0 发布

    Pkg 是 FreeBSD 下一代的打包管理工具,用来替代原来的 pkg_info/pkg_create/pkg_add 工具,可以本地打包,也提供远程打包,主要是为了方便远程二进制包升级. Pkg ...

  3. 项目 Web 的 NuGet 程序包还原失败: 找不到“1.0.0”版本的程序包“Microsoft.Net.Compilers”。。 0

    项目   Web 的 NuGet 程序包还原失败: 找不到“1.0.0”版本的程序包“Microsoft.Net.Compilers”.. 0 使用vs的NutGet包管理器时,另一台电脑从svn下载 ...

  4. 高屋建瓴 cocos2d-x-3.0架构设计 Cocos2d (v.3.0) rendering pipeline roadmap(原文)

    Cocos2d (v.3.0) rendering pipeline roadmap Why (the vision) The way currently Cocos2d does rendering ...

  5. Android/IOS手机使用Fiddler抓包

    对于Android和IOS开发及测试的同事来说抓包是一个很重要的事,有利于排查问题所在,快速定位问题.但长期以来一直没有一款可以快速抓包的工具,直到有了Fiddler2. 使用步骤: 1.  Fidd ...

  6. charles抓包的安装,使用说明以及常见问题解决(windows)

    charles抓包的安装,使用说明以及常见问题解决(windows) https://blog.csdn.net/zhangxiang_1102/article/details/77855548

  7. 在安装python的mysqlclient包时报microsoft visual c++ 14.0 is required的错误

    在安装python的mysqlclient包时报microsoft visual c++ 14.0 is required的错误 pip install mysqlclient 提示报错   解决办法 ...

  8. 无法通过windows installer服务安装此安装程序包。您必须安装带有更新版本windows Installer服务的Windows

    无法通过windows installer服务安装此安装程序包.您必须安装带有更新版本windows installer服务的Windows 出现这个问题不让安装程序,可以到微软网站更新Windows ...

  9. fiddler 进行Android/IOS代理配置抓包

    1.准备:Android+IOS设备 下载:fiddler抓包工具,不是最新版的链接:   链接:https://pan.baidu.com/s/1BaBfu2H4xgpsh1wmkfC8aQ     ...

随机推荐

  1. hadoop学习之ZooKeeper

    1. 什么是ZooKeeper? ZooKeeper是一组工具,用来配置和支持分布式调度. 它能处理分布式应用的“部分失败”问题. 什么是部分失败? 部分失败是分布式处理系统的固有特征,即发送者无法知 ...

  2. Yii --Command 任务处理

    1.配置,执行任务所需要的组件 任务配置文件:/protected/config/console.php  配置方法跟配置main文件差不多 <?php // This is the confi ...

  3. NET Core RC2 and .NET Core SDK Preview

    NET Core RC2 and .NET Core SDK Preview 先看一下 .NET Core(包含 ASP.NET Core)的路线图: Beta6: 2015年7月27日 Beta7: ...

  4. 运行yum报错Error: Cannot retrieve metalink for reposit

    http://www.netpc.com.cn/593.html 运行yum报错Error: Cannot retrieve metalink for reposit 今天给Centos通过rpm - ...

  5. 重复数据删除(De-duplication)技术研究(SourceForge上发布dedup util)

    dedup util是一款开源的轻量级文件打包工具,它基于块级的重复数据删除技术,可以有效缩减数据容量,节省用户存储空间.目前已经在Sourceforge上创建项目,并且源码正在不断更新中.该工具生成 ...

  6. Android菜鸟的成长笔记(1)——Android开发环境搭建从入门到精通

    原文:Android菜鸟的成长笔记(1)--Android开发环境搭建从入门到精通 今天在博客中看到好多Android的初学者对Android的开发环境的搭建不熟悉而导致不能进行学习,所以我决定自己写 ...

  7. Redisql: the lightning fast data polyglot【翻译】 - Linvo's blog - 博客频道 - CSDN.NET

    Redisql: the lightning fast data polyglot[翻译] - Linvo's blog - 博客频道 - CSDN.NET Redisql: the lightnin ...

  8. Android学习4、Android该Adapter

    一.Adapter介绍 An Adapter object acts as a bridge between an AdapterView and the underlying data for th ...

  9. js错误 SyntaxError: missing : after property id

    在用jquery的post方法时 $.post('adminCheckTpmisPlans.do',{'test',str},function(f){ ... }) 报如下错误 SyntaxError ...

  10. HTTP 响应

    HTTP 响应 所谓响应事实上就是server对请求处理的结果.或者假设浏览器请求的直接就是一个静态资源的话,响应的就是这个资源本身. HTTP 响应的组成 ①响应状态行:包含协议版本号.响应状态码. ...