2016年9月26日 星期一

0926 libpomelo2加入cocos2d-x项目(Windows、Android、IOS平台)

http://www.bozhiyue.com/anroid/wenzhang/2016/0506/65160.html

手把手教你把libpomelo 2 加入cocos2d-x项目(Windows、Android、IOS平台).修訂版本


Windows平台

===================================================
1.下載libpomole2 (暫定安裝於cocos2d\external)
git clone https://github.com/NetEase/libpomelo2.git

1.5  Install gyp(如果已經安裝 就忽略此步驟)
git clone https://chromium.googlesource.com/external/gyp 
cd gyp python setup.py install

安裝完畢

2.  進入libpomole2目錄 執行下面指令(依據gyp安裝目錄不同 下面指令需要做一些變更)
D:\Task\gyp\gyp.bat --dept
h=. pomelo.gyp -Dlibrary=static_library -Duse_sys_openssl=false -DTo=pc

目錄下產生 libpomelo2.vcxproj 就是安裝完成

安裝選項範例

gyp

?
1
$ gyp --depth=. pomelo.gyp [options]

选项

  • -Dno_tls_support=[true | false], false by default
  • -Duse_sys_openssl=[true | false], true by default
  • -Dno_uv_support=[true | false], false by default
  • -Duse_sys_uv=[true | false], false by default
  • -Duse_sys_jansson=[true | false], false by default
  • -Dpomelo_library=[static_library | shared_library], static_library by default
  • -Dbuild_pypomelo=[true | false], false by default.
  • -Dpython_header=, /usr/include/python2.7 by default.
  • -Dbuild_jpomelo=[true|false], false by default.
  • -Dbuild_cspomelo=[true|false], false by default.
  • }
3.
修改deps/uv/vcbuild.bat
line 93 附近 將ˇgyp 的GIT 來源改為 https://chromium.googlesource.com/external/gyp
執行 vcbuild.bat
產生 libuv.vcxproj 表示完成
因為libpomelo2  已經將jansson 移除 所以看不到此目錄

4.新增現有專案至自己專案中
再自己專案點選滑鼠右鍵
選擇加入 加入現有專案 libuv,libpomelo2,openssl 三個
並且在自己專案 增加專案相依性

4.5 增加lib 路徑
VC++=>程式庫目錄
增加lib 指定目錄 $(SolutionDir)Default\lib



5.增加相關include
$(EngineRoot)external\libpomelo\include
$(EngineRoot)external\libpomelo\deps\uv\include

6.添加系统lib引用Psapi.lib;Iphlpapi.lib; libuv.lib;libpomelo2.lib;openssl.lib;






================================================================
操作系统:Windows7(64-bit)
VS版本:2013
Cocos2d-x版本:3.0
工程路径:E:\cocos2d-prj\

1.从github下载libpomelo代码
E:\cocos2d-prj\cocos2d\external> git clone https://github.com/NetEase/libpomelo.git

2.创建libpomelo的VS工程
E:\cocos2d-prj\cocos2d\external>cd libpomelo
E:\cocos2d-prj\cocos2d\external\libpomelo>mkdir build
//路徑改為這一個 20160926 修正
git clone https://chromium.googlesource.com/external/gyp build/gyp
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的VS工程(执行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.打开cocos2d工程,将下列vs项目加入工程(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.修改工程版本
vs中右键上述工程,选择菜单 Upgrade VC++ Compiler and Libraries
6.添加工程依赖
在cocos2d-prj工程上邮件,选择 属性 菜单项,将上述三个工程添加为依赖,如下图
7.添加Include
8.添加系统lib引用Psapi.lib;Iphlpapi.lib;,如下图

Android平台

操作系统:Windows7(64-bit)
NDK版本:r9d (64-bit)
Cocos2d-x版本:3.0
工程路径:E:\cocos2d-prj\
Android平台相对简单,只要修改E:\cocos2d-prj\proj.android\jni\Android.mk文件就可以了,总共三处如下图
修正:若是添加libpomelo2 需修改如下部分
檔案一 cocos2d\external\libpomelo2\Android.mk
1.LOCAL_MODULE_FILENAME := libpomelo2
2.LOCAL_SRC_FILES 
    增加 src/tr/uv/pb_i.c \ 
             src/tr/uv/pr_msg_json.c \
    移除 src/tr/uv/pr_unit.c

檔案二 proj.android-studio\app\jni\Android.mk
1. $(call import-module,libpomelo2) 非 libpomelo
2. LOCAL_STATIC_LIBRARIES += pomelo_static
3. LOCAL_EXPORT_C_INCLUDES :=$(LOCAL_PATH)/../../../cocosd/external/libpomelo2/include



IOS平台

操作系统:MAC MINI
XCODE版本:3.1.1
iphonesimulator : 6.1
Cocos2d-x版本:3.0
Python : 2.7
gyp工具
1.创建xcode工程,执行以下命令
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.修改xcode工程 
在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静态库了。



沒有留言:

張貼留言

cocos2dx-lua 建立滑鼠監聽

重要關鍵字  EVENT_MOUSE_SCROLL addEventListenerWithSceneGraphPriority      if IsPc() then --建立滑鼠監聽         local listener = cc.EventListenerMouse...