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. openCV中cvSnakeImage()函数代码分析

    /*M/////////////////////////////////////////////////////////////////////////////////////// // // IMP ...

  2. Taking Pictures Using FireMonkey Interfaces

    http://docwiki.embarcadero.com/RADStudio/Seattle/en/Taking_Pictures_Using_FireMonkey_Interfaces

  3. WKE——Webkit精简的纯C接口的浏览器

    以前不知道有这个东西 https://github.com/cexer/wke http://blog.csdn.net/weolar/article/details/50383491 http:// ...

  4. QSqlDatabase::addDatabase第一次运行的时候,生成SQLite文件的同时会产生一个默认连接

    QSqlDatabase::addDatabase第一次运行的时候,生成SQLite文件的同时会产生一个默认连接: QSqlDatabase database = QSqlDatabase::addD ...

  5. c# in depth 之泛型实参的类型推断

    调用泛型方法时,指定类型实参常常会显得很多余.为简化工作,c#2编译器被赋予了一定的“智能”,让你在调用方法时,不需要显式声明类型实参. 在深入讨论这个主题之前,必须强调一下:类型推断只适用于泛型方法 ...

  6. Android WebView挂马漏洞--各大厂商纷纷落马

    本文章由Jack_Jia编写,转载请注明出处.   文章链接: http://blog.csdn.net/jiazhijun/article/details/11131891 作者:Jack_Jia ...

  7. MySQL学习笔记之中的一个 MySQL入门

    本人之前接触的关系型数据库主要是oracle和sqlserver,而对于mysql知之甚少,但查阅网上资料发现,mysql与oracle非常相似,所以学起来应该不会非常费劲,在总结的时候可能很多其它的 ...

  8. MVC之国际化

    MVC之国际化 前言 在项目中遇到国际化语言的问题是常有的事情,之前在做关于MVC国际化语言时,刚开始打算全部利用AngularJS来实现,但是渐渐发现对于页面Title难以去控制其语言转换,于是对于 ...

  9. Oracle中四种循环(GOTO、For、While、Loop)

    DECLARE x number; BEGIN x:=9; <<repeat_loop>> --循环点 x:=x-1; DBMS_OUTPUT.PUT_LINE(X); IF ...

  10. POJ 3040 Allowance 贪心

    这题目的贪心思路还是有一点细节问题的. 还没有证明,据说是因为题目给的条件是每个价格是比它小的价格的倍数才能这么贪心的. 思路如下: 假设要给奶牛的钱为C 1)从大面值到小面值一次拿钱,能拿多少拿多少 ...